diff --git a/roles/docker-taiga/templates/docker-compose-inits.yml.j2 b/roles/docker-taiga/templates/docker-compose-inits.yml.j2 index 19332d79..9faf7634 100644 --- a/roles/docker-taiga/templates/docker-compose-inits.yml.j2 +++ b/roles/docker-taiga/templates/docker-compose-inits.yml.j2 @@ -2,10 +2,10 @@ version: "3.5" x-environment: &default-back-environment - POSTGRES_DB: "taiga" + POSTGRES_DB: "{{database_name}}" POSTGRES_USER: "${POSTGRES_USER}" POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}" - POSTGRES_HOST: "taiga-db" + POSTGRES_HOST: "{{database_host}}" TAIGA_SECRET_KEY: "${SECRET_KEY}" TAIGA_SITES_SCHEME: "${TAIGA_SCHEME}" @@ -34,9 +34,9 @@ services: taiga-manage: image: taigaio/taiga-back:latest environment: *default-back-environment - depends_on: - - taiga-db +{% include 'templates/docker/container/depends-on-just-database.yml.j2' %} + entrypoint: "python manage.py" volumes: *default-back-volumes - networks: - - taiga \ No newline at end of file +{% include 'templates/docker/compose/networks.yml.j2' %} + taiga: \ No newline at end of file diff --git a/roles/docker-taiga/templates/docker-compose.yml.j2 b/roles/docker-taiga/templates/docker-compose.yml.j2 index 53d388ef..06309494 100644 --- a/roles/docker-taiga/templates/docker-compose.yml.j2 +++ b/roles/docker-taiga/templates/docker-compose.yml.j2 @@ -4,10 +4,11 @@ x-environment: &default-back-environment # These environment variables will be used by taiga-back and taiga-async. # Database settings - POSTGRES_DB: "taiga" + POSTGRES_DB: "{{database_name}}" POSTGRES_USER: "${POSTGRES_USER}" POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}" - POSTGRES_HOST: "taiga-db" + POSTGRES_HOST: "{{database_host}}" + # Taiga settings TAIGA_SECRET_KEY: "${SECRET_KEY}" TAIGA_SITES_SCHEME: "${TAIGA_SCHEME}" @@ -37,32 +38,16 @@ x-volumes: # - ./config.py:/taiga-back/settings/config.py services: - taiga-db: - image: postgres:12.3 - environment: - POSTGRES_DB: "taiga" - POSTGRES_USER: "${POSTGRES_USER}" - POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}" - healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] - interval: 2s - timeout: 15s - retries: 5 - start_period: 3s - volumes: - - taiga-db-data:/var/lib/postgresql/data - networks: - - taiga - +{% include 'templates/docker/services/' + database_type + '.yml.j2' %} taiga-back: image: taigaio/taiga-back:latest environment: *default-back-environment volumes: *default-back-volumes - networks: - - taiga - depends_on: - taiga-db: - condition: service_healthy + +{% include 'templates/docker/container/networks.yml.j2' %} + taiga: + +{% include 'templates/docker/container/depends-on-also-database.yml.j2' %} taiga-events-rabbitmq: condition: service_started taiga-async-rabbitmq: @@ -73,11 +58,11 @@ services: entrypoint: ["/taiga-back/docker/async_entrypoint.sh"] environment: *default-back-environment volumes: *default-back-volumes - networks: - - taiga - depends_on: - taiga-db: - condition: service_healthy + +{% include 'templates/docker/container/networks.yml.j2' %} + taiga: + +{% include 'templates/docker/container/depends-on-also-database.yml.j2' %} taiga-events-rabbitmq: condition: service_started taiga-async-rabbitmq: @@ -93,8 +78,9 @@ services: hostname: "taiga-async-rabbitmq" volumes: - taiga-async-rabbitmq-data:/var/lib/rabbitmq - networks: - - taiga + +{% include 'templates/docker/container/networks.yml.j2' %} + taiga: taiga-front: image: taigaio/taiga-front:latest @@ -103,8 +89,9 @@ services: TAIGA_WEBSOCKETS_URL: "${WEBSOCKETS_SCHEME}://${TAIGA_DOMAIN}" TAIGA_SUBPATH: "${SUBPATH}" # ...your customizations go here - networks: - - taiga + +{% include 'templates/docker/container/networks.yml.j2' %} + taiga: # volumes: # - ./conf.json:/usr/share/nginx/html/conf.json @@ -114,8 +101,9 @@ services: RABBITMQ_USER: "${RABBITMQ_USER}" RABBITMQ_PASS: "${RABBITMQ_PASS}" TAIGA_SECRET_KEY: "${SECRET_KEY}" - networks: - - taiga + +{% include 'templates/docker/container/networks.yml.j2' %} + taiga: depends_on: taiga-events-rabbitmq: condition: service_started @@ -130,16 +118,18 @@ services: hostname: "taiga-events-rabbitmq" volumes: - taiga-events-rabbitmq-data:/var/lib/rabbitmq - networks: - - taiga + +{% include 'templates/docker/container/networks.yml.j2' %} + taiga: taiga-protected: image: taigaio/taiga-protected:latest environment: MAX_AGE: "${ATTACHMENTS_MAX_AGE}" SECRET_KEY: "${SECRET_KEY}" - networks: - - taiga + +{% include 'templates/docker/container/networks.yml.j2' %} + taiga: taiga-gateway: image: nginx:1.19-alpine @@ -149,19 +139,19 @@ services: - ./taiga-gateway/taiga.conf:/etc/nginx/conf.d/default.conf - taiga-static-data:/taiga/static - taiga-media-data:/taiga/media - networks: - - taiga + +{% include 'templates/docker/container/networks.yml.j2' %} + taiga: depends_on: - taiga-front - taiga-back - taiga-events -volumes: +{% include 'templates/docker/compose/volumes.yml.j2' %} taiga-static-data: taiga-media-data: - taiga-db-data: taiga-async-rabbitmq-data: taiga-events-rabbitmq-data: -networks: +{% include 'templates/docker/compose/networks.yml.j2' %} taiga: \ No newline at end of file diff --git a/roles/docker-taiga/templates/env.j2 b/roles/docker-taiga/templates/env.j2 index 806e3b4c..8f138c5b 100644 --- a/roles/docker-taiga/templates/env.j2 +++ b/roles/docker-taiga/templates/env.j2 @@ -8,19 +8,19 @@ WEBSOCKETS_SCHEME=wss # events connection protocol (use either "ws" or "wss") SECRET_KEY="{{taigaio_secret_key}}" # Please, change it to an unpredictable value!! # Taiga's Database settings - Variables to create the Taiga database and connect to it -POSTGRES_USER=taiga # user to connect to PostgreSQL -POSTGRES_PASSWORD=taiga # database user's password +POSTGRES_USER={{database_username}} # user to connect to PostgreSQL +POSTGRES_PASSWORD={{peertube_database_password}} # database user's password # Taiga's SMTP settings - Variables to send Taiga's emails to the users -EMAIL_BACKEND=console # use an SMTP server or display the emails in the console (either "smtp" or "console") -EMAIL_HOST=smtp.host.example.com # SMTP server address -EMAIL_PORT=587 # default SMTP port -EMAIL_HOST_USER=user # user to connect the SMTP server -EMAIL_HOST_PASSWORD=password # SMTP user's password -EMAIL_DEFAULT_FROM=changeme@example.com # default email address for the automated emails +EMAIL_BACKEND = console # use an SMTP server or display the emails in the console (either "smtp" or "console") +EMAIL_HOST = {{system_email_host}} # SMTP server address +EMAIL_PORT = {{system_email_smtp_port}} # default SMTP port +EMAIL_HOST_USER = {{system_email_username}} # user to connect the SMTP server +EMAIL_HOST_PASSWORD = {{system_email_password}} # SMTP user's password +EMAIL_DEFAULT_FROM = {{system_email}} # default email address for the automated emails # EMAIL_USE_TLS/EMAIL_USE_SSL are mutually exclusive (only set one of those to True) -EMAIL_USE_TLS=True # use TLS (secure) connection with the SMTP server -EMAIL_USE_SSL=False # use implicit TLS (secure) connection with the SMTP server +EMAIL_USE_TLS={{ system_email_tls | lower | capitalize }} # use TLS (secure) connection with the SMTP server +EMAIL_USE_SSL={{ 'False' if system_email_start_tls else 'True' }} # use implicit TLS (secure) connection with the SMTP server # Taiga's RabbitMQ settings - Variables to leave messages for the realtime and asynchronous events RABBITMQ_USER=taiga # user to connect to RabbitMQ diff --git a/roles/docker-taiga/vars/main.yml b/roles/docker-taiga/vars/main.yml index 6da9c93d..409e617d 100644 --- a/roles/docker-taiga/vars/main.yml +++ b/roles/docker-taiga/vars/main.yml @@ -1,6 +1,6 @@ docker_compose_project_name: "taigaio" docker_compose_file_path: "{{docker_compose_instance_directory}}docker-compose.yml" docker_compose_backup_path: "/tmp/{{docker_compose_project_name}}-docker-compose.yml.backup" -database_type: "mariadb" +database_type: "postgres" database_password: "{{taigaio_database_password}}" repository_address: "https://github.com/taigaio/taiga-docker"