From 4c788f6302ce9eca8588d9fa6173b75f55a93162 Mon Sep 17 00:00:00 2001 From: Yamila Moreno Date: Tue, 29 Sep 2020 23:06:27 +0200 Subject: [PATCH] Initial simple/complex configuration --- docker/README.md | 47 +++++++++++++++++++++++++++++---- docker/docker-compose-inits.yml | 16 ++++++----- docker/docker-compose.yml | 10 ++++--- 3 files changed, 59 insertions(+), 14 deletions(-) diff --git a/docker/README.md b/docker/README.md index c7f9e665..b03c760d 100644 --- a/docker/README.md +++ b/docker/README.md @@ -6,18 +6,54 @@ Docker and docker-compose Additionally, it's necessary to have familiarity with Docker, docker-compose and Docker repositories -## Customization +## Simple customization -- share a configuration file (see example in `taiga-back/settings`) and set the proper `DJANGO_SETTINGS_MODULE` envvar -- modify `docker-compose.yml` as needed +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. -## Up +### Database: taiga-db + +`POSTGRES_DB`, `POSTGRES_USER` and `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. + +### API and Admin: taiga-back + +`POSTGRES_DB`, `POSTGRES_USER` and `POSTGRES_PASSWORD`. This vars will be used to connect to the Taiga database. + +**Important**: these vars should have the same values as `taiga-db` vars. + +Besides, `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_PORT` should be the same as the exposed port in the `taiga-gateway`. Default is 9000. + +## Complex customization + +For a complex customization, you can use configuration files, mapped to a specific directories inside the containers. + +### API and Admin: 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`). + +## Before running + +You have to configure an admin user: +```sh +# ensure migrations are properly set +$ docker-compose up -d + +$ docker-compose -f docker-compose.yml -f docker-compose-inits.yml run --rm taiga-manage loaddata initial_user +# this command creates an admin/123123 user. Change it as soon as possible. +``` + +## Up and running ```sh $ docker-compose up -d ``` -Default port for the application is 9000. +Default access for the application is **http://localhost:9000**. ## One shot commands @@ -28,6 +64,7 @@ $ docker-compose -f docker-compose.yml -f docker-compose-inits.yml run --rm taig ## Sample data This command, optional, some sample data to test the environment. It's important to run it **after running once the application** (which applies migrations). Otherwise, this command will fail. + ```sh $ docker-compose -f docker-compose.yml -f docker-compose-inits.yml run --rm taiga-sampledata ``` diff --git a/docker/docker-compose-inits.yml b/docker/docker-compose-inits.yml index e7305715..ed235f2c 100644 --- a/docker/docker-compose-inits.yml +++ b/docker/docker-compose-inits.yml @@ -4,9 +4,11 @@ services: taiga-sampledata: image: taigaio/taiga-back:alpha environment: - DJANGO_SETTINGS_MODULE: "settings.config" - volumes: - - ./taiga-back/settings/config.py:/taiga-back/settings/config.py + POSTGRES_DB: taiga + POSTGRES_USER: taiga + POSTGRES_PASSWORD: taiga + POSTGRES_HOST: taiga-db + TAIGA_PORT: 9000 depends_on: - taiga-db entrypoint: bash -c "python manage.py sample_data" @@ -14,9 +16,11 @@ services: taiga-manage: image: taigaio/taiga-back:alpha environment: - DJANGO_SETTINGS_MODULE: "settings.config" - volumes: - - ./taiga-back/settings/config.py:/taiga-back/settings/config.py + POSTGRES_DB: taiga + POSTGRES_USER: taiga + POSTGRES_PASSWORD: taiga + POSTGRES_HOST: taiga-db + TAIGA_PORT: 9000 depends_on: - taiga-db entrypoint: "python manage.py" diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index cf246ee7..e3313361 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -8,14 +8,17 @@ services: POSTGRES_USER: taiga POSTGRES_PASSWORD: taiga volumes: - - ./db-data:/var/lib/postgresql/data + - db-data:/var/lib/postgresql/data taiga-back: image: taigaio/taiga-back:alpha environment: - DJANGO_SETTINGS_MODULE: "settings.config" + POSTGRES_DB: taiga + POSTGRES_USER: taiga + POSTGRES_PASSWORD: taiga + POSTGRES_HOST: taiga-db + TAIGA_PORT: 9000 volumes: - - ./taiga-back/settings/config.py:/taiga-back/settings/config.py - static-data:/taiga-back/static - media-data:/taiga-back/media depends_on: @@ -40,3 +43,4 @@ services: volumes: static-data: media-data: + db-data: