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.
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
For a complete taiga installation (
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: email@example.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
HTTPS can be enabled by setting
https and filling
SSL_KEY env variables (see Environment section below). http (port 80)
requests will be redirected to https (port 443).
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
httpsis used either
SSL_KEYneeds to be set or
/etc/nginx/ssl/volume attached with
SSL_CRTSSL certificate value. Valid only when
SCHEMEset to https.
SSL_KEYSSL certificate key. Valid only when
SCHEMEset to https.
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.
python /usr/local/taiga/taiga-back/manage.py sendtestemail firstname.lastname@example.org to test whether it works. If it works, you'll get test email.
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?
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
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 :)
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.
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
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.
Thanks, @realbazso. Fixed that
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.