Public | Automated Build

Last pushed: 10 months ago
Short Description
Docker image for Taiga Frontend. Works together with htdvisser/taiga-back.
Full Description

htdvisser/taiga-front-dist

Taiga is a project management platform for startups and agile developers & designers who want a simple, beautiful tool that makes work truly enjoyable.

This Docker image can be used for running the Taiga frontend. It works together with the htdvisser/taiga-back image.



Running

A htdvisser/taiga-back container should be linked to the taiga-front-dist container. Also connect the volumes of this the taiga-back container if you want to serve the static files for the admin panel.

docker run --name taiga_front_dist_container_name --link taiga_back_container_name:taigaback --volumes-from taiga_back_container_name htdvisser/taiga-front-dist

Docker-compose

For a complete taiga installation (htdvisser/taiga-back and htdvisser/taiga-front-dist) you can use this docker-compose configuration:

data:
  image: tianon/true
  volumes:
    - /var/lib/postgresql/data
    - /usr/local/taiga/media
    - /usr/local/taiga/static
    - /usr/local/taiga/logs
db:
  image: postgres
  environment:
    POSTGRES_USER: taiga
    POSTGRES_PASSWORD: password
  volumes_from:
    - data
taigaback:
  image: htdvisser/taiga-back:stable
  hostname: dev.example.com
  environment:
    SECRET_KEY: examplesecretkey
    EMAIL_USE_TLS: True
    EMAIL_HOST: smtp.gmail.com
    EMAIL_PORT: 587
    EMAIL_HOST_USER: youremail@gmail.com
    EMAIL_HOST_PASSWORD: yourpassword
  links:
    - db:postgres
  volumes_from:
    - data
taigafront:
  image: htdvisser/taiga-front-dist:stable
  hostname: dev.example.com
  links:
    - taigaback
  volumes_from:
    - data
  ports:
    - 0.0.0.0:80:80

SSL Support

HTTPS can be enabled by setting SCHEME to https and filling SSL_CRT
and SSL_KEY env variables (see Environment section below). http (port 80)
requests will be redirected to https (port 443).

Example:

data:
  ...
db:
  ...
taigaback:
  image: htdvisser/taiga-back:stable
  hostname: dev.example.com
  environment:
    ...
    API_SCHEME: https
    FRONT_SCHEME: https
  links:
    - db:postgres
  volumes_from:
    - data
taigafront:
  image: htdvisser/taiga-front-dist:stable
  hostname: dev.example.com
  environment:
    SCHEME: https
    SSL_CRT: |
        -----BEGIN CERTIFICATE-----
        ...
        -----END CERTIFICATE-----
    SSL_KEY: |
        -----BEGIN RSA PRIVATE KEY-----
        ...
        -----END RSA PRIVATE KEY-----
  links:
    - taigaback
  volumes_from:
    - data
  ports:
    - 0.0.0.0:80:80
    - 0.0.0.0:443:443

Environment

  • PUBLIC_REGISTER_ENABLED defaults to true
  • API defaults to "/api/v1"
  • DEBUG defaults to false
  • SCHEME defaults to http. If https is used either
    • SSL_CRT and SSL_KEY needs to be set or
    • /etc/nginx/ssl/ volume attached with ssl.crt and ssl.key files
  • SSL_CRT SSL certificate value. Valid only when SCHEME set to https.
  • SSL_KEY SSL certificate key. Valid only when SCHEME set to https.
Docker Pull Command
Owner
htdvisser
Source Repository

Comments (9)
vorontsovie
9 months ago

Hello. Faced with some problems with this image.
1) Don't forget to set HOSTNAME to environment sections, it doesn't work when set outside of environment section.
2) In debug mode conf.json get wrong data (True instead of true) which results in requests to wrong host.
And you can't just change DEBUG: True with DEBUG: true as in that case python scripts will fail.
I use the following bash command to quickly fix this variable:
docker exec -it mytaiga_taigafront_1 sed -ie 's/True/true/' /usr/local/taiga/taiga-front-dist/dist/conf.json
where mytaiga_taigafront_1 is a name of frontend container.
3) Backend heavily relies on mail sending. When django fails to send an email, some requests also fail (it indicated very bad architecture). One can't even register a user.
Mail sending can fail when firewall blocks SMTP port. Another reason to fail is security settings of mailbox itself (for gmail one should enable insecure applications).
There're several hints. First, in
/usr/local/taiga/taiga-back/settings/dockerenv.py one can change EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' into 'django.core.mail.backends.console.EmailBackend' so that all mails go into console not hitting smtp.
Second, use python /usr/local/taiga/taiga-back/manage.py sendtestemail your@mail.com to test whether it works. If it works, you'll get test email.

aleskinen
2 years ago

I am trying to start this with new docker networking, but do not know how connect containers. I have networks mynetwork and postgres. I am connecting taiga-back and taiga-db to postgres network and taiga-back and taiga-front to mynetwork network.

How this should be done?

htdvisser
2 years ago

Hi katywings,

I understand that the documentation can be a little confusing. The taiga installation consists of two parts: the frontend and the backend. These are in different Docker images that should be installed separately. As a result, the configuration (and therefore, the documentation) for the two parts is a little different.

For the PUBLIC_REGISTER_ENABLED in taiga-front-dist, try to use lowercase true/false, as the configuration is done in JavaScript.

I don't know what causes the redirect to http://taiga.domain.com/error, I might look into that when I have the time. Feel free to create an issue on Github for that. If you find a solution, I would be happy to merge your Pull Request there :)

katywings
2 years ago

Hello htdvisser :) Cool Image! I really love it!

But the documentation is a little bit weird, because somethings are only documented in taiga-back...

And In addition:
PUBLIC_REGISTER_ENABLED seems to not work probably for the front-dist.

at taiga-back it works great.

But if I set PUBLIC_REGISTER_ENABLED at taigafront to either True or False (it doesnt matter), the link for the registration will not go away and when I try to register I just get a weird error page (http://taiga.domain.com/error)

Only commenting out PUBLIC_REGISTER_ENABLED at taigafront resolves the error.

htdvisser
2 years ago

Glad to hear that you fixed the issue. The database setup is explained in my htdvisser/taiga-back image. I will add it to the README of the htdvisser/taiga-front-dist as well.

canercandan
2 years ago

I found the solution to my issue, the "Database Initialization" procedure was missing. Here is the procedure I followed since I am using docker-compose:

docker-compose run --rm taigaback bash
cd /usr/local/taiga
./configure
python manage.py loaddata initial_user
python manage.py loaddata initial_project_templates
python manage.py loaddata initial_role
canercandan
2 years ago

Just tried the compose setup. The images are retrieved well, the containers are created and I can go to the instance page through my browser but when I register my first user and then try to create a first project then it ends with an js error:

libs.js:10 Initialize navigation urls
libs.js:10 Initialize api urls
libs.js:10 Using the default logging exception handler.
libs.js:10 Initialize resources
libs.js:10 Initialize application
libs.js:10 Analytics: no acount id provided. Disabling.
libs.js:10 TypeError: Cannot read property 'id' of undefined
    at /js/app.js?v=1426586519824:14
    at processQueue (libs.js:10)
    at libs.js:10
    at Scope.$eval (libs.js:11)
    at Scope.$digest (libs.js:10)
    at Scope.$apply (libs.js:11)
    at done (libs.js:9)
    at completeRequest (libs.js:9)
    at XMLHttpRequest.xhr.onload (libs.js:9)

Thanks for your input.

htdvisser
2 years ago

Thanks, @realbazso. Fixed that

realbazso
2 years ago

Note: In the "Running" section of the info page there is a copy-paste error in the source name of the container (taiga-back->taiga-front-dist).
Otherwise it works well, thanks for your work.