2020-12-04 13:10:48 +01:00
2020-11-12 13:44:18 +01:00
2020-09-10 18:15:25 +02:00
2020-12-04 13:10:48 +01:00

Deploy Taiga with Docker

Requirements

  • docker
  • docker-compose

Additionally, it's necessary to have familiarity with Docker, docker-compose and Docker repositories.

Simple customization

There are some environment variables for a simple customization. Find them in the docker-compose.yml. The images are ready to work out of the box, although is strongly recommended to change some default values.

taiga-db

POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD

This vars will be used to create the database for Taiga.

Important: these vars should have the same values as taiga-back vars.

taiga-back and taiga-async

Database settings

POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD

This vars will be used to connect to the Taiga database.

Important: these vars should have the same values as taiga-db service vars.

POSTGRES_HOST

Where the database is set. By default, it's meant to be in the same host as the database service so it uses internal docker names.

Taiga settings

TAIGA_SECRET_KEY

Is the secret key of Taiga. Should be the same as this var in taiga-events and taiga-async

TAIGA_SITES_SCHEME, TAIGA_SITES_DOMAIN

Should have the url where this is served: https[://]taiga.mycompany.com

Email Settings

By default, email is configured with the console backend, which means that the emails will be shown in the stdout.

ENABLE_EMAIL

If you have an smtp service, configure this variable to "True". By default is "False".

DEFAULT_FROM_EMAIL, EMAIL_HOST, EMAIL_PORT, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD

If you have an smtp service configure this variables too.

EMAIL_USE_TLS

If you use TLS, configure this variable to "True". By default is "False".

EMAIL_USE_SSL

If you use SSL, configure this variable to "True". By default is "False".

Rabbit settings

RABBITMQ_USER, RABBITMQ_PASS

Are used to leave messages in the rabbitmq services. Those variables should be the same as in taiga-async-rabbitmq and taiga-events-rabbitmq.

Github settings

GITHUB_API_CLIENT_ID, GITHUB_API_CLIENT_SECRET

Used for login with Github. Get these in your profile https://github.com/settings/apps or in your organization profile https://github.com/organizations/{ORGANIZATION-SLUG}/settings/applications

Gitlab settings

GITLAB_API_CLIENT_ID, GITLAB_API_CLIENT_SECRET, GITLAB_URL

Used for login with GitLab. Get these in your profile https://{YOUR-GITLAB}/profile/applications or in your organization profile https://{YOUR-GITLAB}/admin/applications

taiga-async-rabbitmq

Is the secret erlang cookie.

RABBITMQ_DEFAULT_USER, RABBITMQ_DEFAULT_PASS, RABBITMQ_DEFAULT_VHOST

This vars will be used to connect to rabbitmq.

taiga-front

TAIGA_URL

Where this Taiga instance should be served. It should be the same as TAIGA_SITES_SCHEME://TAIGA_SITES_DOMAIN.

TAIGA_WEBSOCKETS_URL

To connect to the events. This should have the same value as TAIGA_SITES_DOMAIN, ie: ws://taiga.mycompany.com

GITHUB_CLIENT_ID

Used for login with Github. Get these in your profile https://github.com/settings/apps or in your organization profile https://github.com/organizations/{ORGANIZATION-SLUG}/settings/applications

GITLAB_CLIENT_ID, GITLAB_URL

Used for login with GitLab. Get these in your profile https://{YOUR-GITLAB}/profile/applications or in your organization profile https://{YOUR-GITLAB}/admin/applications

taiga-events

RABBITMQ_USER, RABBITMQ_PASS

Are used to read messages from rabbitmq

TAIGA_SECRET_KEY

Should be the same as this var in taiga-back

taiga-events-rabbitmq

Is the secret erlang cookie.

RABBITMQ_DEFAULT_USER, RABBITMQ_DEFAULT_PASS, RABBITMQ_DEFAULT_VHOST

This vars will be used to connect to rabbitmq.

Storage

We have 3 named volumes configured: taiga-static-data for statics, taiga-media-data for medias and taiga-db-data for the database.

Complex customization

For a complex customization, you can use configuration files, mapped to specific directories inside the containers.

taiga-back

Map a Python configuration file to /taiga-back/settings/config.py. You can use (this file)[https://github.com/taigaio/taiga-back/blob/taiga-6/docker/config.py] as an example.

Important: if you use your own configuration file, don't forget to add contribs to INSTALLED_APPS (check the example config.py).

taiga-front

Map a conf.jsonconfiguration file to /usr/share/nginx/html/conf.json. You can use (this file)[https://github.com/taigaio/taiga-front/blob/taiga-6/docker/conf.json.template] as an example.

Before running

You have to configure an admin user:

# ensure migrations are properly set
$ docker-compose up -d

$ docker-compose -f docker-compose.yml -f docker-compose-inits.yml run --rm taiga-manage createsuperuser

Up and running

$ docker-compose up -d

Default access for the application is http://localhost:9000.

One shot commands

docker-compose-inits.yml lets launch manage.py commands on the back instance:

$ docker-compose -f docker-compose.yml -f docker-compose-inits.yml run --rm taiga-manage [COMMAND]
Description
No description provided
Readme MPL-2.0 26 MiB
Languages
Shell 100%