Solved docker refactoring bug

This commit is contained in:
Kevin Veen-Birkenbach 2025-07-07 03:58:40 +02:00
parent ca0602a1c8
commit e25565c517
No known key found for this signature in database
GPG Key ID: 44D8F11FD62F878E
42 changed files with 93 additions and 88 deletions

View File

@ -12,7 +12,7 @@
- data:/var/www/html - data:/var/www/html
environment: environment:
- AKAUNTING_SETUP - AKAUNTING_SETUP
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}

View File

@ -12,13 +12,13 @@
worker: worker:
env_file: env_file:
- ./.env - ./.env
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
worker: worker:
image: "{{ applications[application_id].images.worker }}" image: "{{ applications[application_id].images.worker }}"
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
maildev: maildev:
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
volumes: volumes:
- .:/usr/share/nginx/html - .:/usr/share/nginx/html
- .:/var/www - .:/var/www

View File

@ -8,7 +8,7 @@
- data:/baserow/data - data:/baserow/data
ports: ports:
- "{{ports.localhost.http[application_id]}}:80" - "{{ports.localhost.http[application_id]}}:80"
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}

View File

@ -12,7 +12,7 @@
- "127.0.0.1:{{ports.localhost.http.bluesky_api}}:{{ container_port }}" - "127.0.0.1:{{ports.localhost.http.bluesky_api}}:{{ container_port }}"
{% include 'roles/docker-container/templates/healthcheck/wget.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/wget.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
# Deactivated for the moment @see https://github.com/bluesky-social/social-app # Deactivated for the moment @see https://github.com/bluesky-social/social-app
web: web:
@ -33,7 +33,7 @@
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}
pds_data: pds_data:

View File

@ -8,6 +8,6 @@
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-compose/templates/networks.yml.j2' %}

View File

@ -11,7 +11,7 @@
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
{% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}

View File

@ -6,7 +6,7 @@
ports: ports:
- "127.0.0.1:{{ ports.localhost.http[application_id] }}:80" - "127.0.0.1:{{ ports.localhost.http[application_id] }}:80"
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
volumes: volumes:
- data:/var/www/html - data:/var/www/html
@ -16,7 +16,7 @@
logging: logging:
driver: journald driver: journald
entrypoint: docker-daemon.sh entrypoint: docker-daemon.sh
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
volumes: volumes:
- data:/var/www/html - data:/var/www/html
@ -32,7 +32,7 @@
- ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBMISSION_DSN=tcp://websocket:7777 - ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBMISSION_DSN=tcp://websocket:7777
entrypoint: docker-websocket.sh entrypoint: docker-websocket.sh
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
volumes: volumes:
- data:/var/www/html - data:/var/www/html
ports: ports:

View File

@ -10,7 +10,7 @@
- "127.0.0.1:{{ports.localhost.http[application_id]}}:80" - "127.0.0.1:{{ports.localhost.http[application_id]}}:80"
{% include 'roles/docker-container/templates/healthcheck/msmtp_curl.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/msmtp_curl.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}

View File

@ -17,14 +17,14 @@
- "data:{{funkwhale_media_root}}" - "data:{{funkwhale_media_root}}"
- "music:{{funkwhale_music_directory_path}}:ro" - "music:{{funkwhale_music_directory_path}}:ro"
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
celerybeat: celerybeat:
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
image: "{{ applications | get_docker_image(application_id,'api') }}" image: "{{ applications | get_docker_image(application_id,'api') }}"
command: celery -A funkwhale_api.taskapp beat --pidfile= -l INFO command: celery -A funkwhale_api.taskapp beat --pidfile= -l INFO
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
api: api:
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
@ -36,7 +36,7 @@
ports: ports:
- "{{ funkwhale_docker_api_port }}" - "{{ funkwhale_docker_api_port }}"
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
front: front:
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}

View File

@ -11,7 +11,7 @@
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
{% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}

View File

@ -13,7 +13,7 @@
- 'data:/var/opt/gitlab' - 'data:/var/opt/gitlab'
shm_size: '256m' shm_size: '256m'
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}
redis: redis:

View File

@ -6,7 +6,7 @@
- data:/var/www/html - data:/var/www/html
ports: ports:
- "127.0.0.1:{{ports.localhost.http[application_id]}}:80" - "127.0.0.1:{{ports.localhost.http[application_id]}}:80"
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}

View File

@ -10,7 +10,7 @@
volumes: volumes:
- "{{import_directory_host}}:{{import_directory_docker}}" - "{{import_directory_host}}:{{import_directory_docker}}"
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% set container_port = 9000 %} {% set container_port = 9000 %}
{% set container_healthcheck = 'health/live' %} {% set container_healthcheck = 'health/live' %}
{% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %}

View File

@ -6,6 +6,6 @@
ports: ports:
- 127.0.0.1:{{ports.localhost.http[application_id]}}:80 - 127.0.0.1:{{ports.localhost.http[application_id]}}:80
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-compose/templates/networks.yml.j2' %}

View File

@ -20,7 +20,7 @@
-b cn=config "(&(objectClass=olcOverlayConfig)(olcOverlay=memberof))" \ -b cn=config "(&(objectClass=olcOverlayConfig)(olcOverlay=memberof))" \
| grep "olcOverlay:" | grep -q "memberof" | grep "olcOverlay:" | grep -q "memberof"
' '
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}
data: data:

View File

@ -7,7 +7,7 @@
- "127.0.0.1:{{ports.localhost.http[application_id]}}:{{ container_port }}" - "127.0.0.1:{{ports.localhost.http[application_id]}}:{{ container_port }}"
volumes: volumes:
- {{docker_compose.directories.config}}config.toml:/listmonk/config.toml - {{docker_compose.directories.config}}config.toml:/listmonk/config.toml
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-container/templates/healthcheck/wget.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/wget.yml.j2' %}

View File

@ -4,7 +4,7 @@
resolver: resolver:
image: {{docker_source}}/unbound:{{applications.mailu.version}} image: {{docker_source}}/unbound:{{applications.mailu.version}}
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
ipv4_address: {{networks.local.mailu.dns}} ipv4_address: {{networks.local.mailu.dns}}
front: front:
@ -26,7 +26,7 @@
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
resolver: resolver:
condition: service_started condition: service_started
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
webmail: webmail:
radicale: radicale:
dns: dns:
@ -45,7 +45,7 @@
condition: service_started condition: service_started
dns: dns:
- {{networks.local.mailu.dns}} - {{networks.local.mailu.dns}}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
imap: imap:
image: {{docker_source}}/dovecot:{{applications.mailu.version}} image: {{docker_source}}/dovecot:{{applications.mailu.version}}
@ -58,7 +58,7 @@
- resolver - resolver
dns: dns:
- {{networks.local.mailu.dns}} - {{networks.local.mailu.dns}}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
smtp: smtp:
image: {{docker_source}}/postfix:{{applications.mailu.version}} image: {{docker_source}}/postfix:{{applications.mailu.version}}
@ -71,7 +71,7 @@
- resolver - resolver
dns: dns:
- {{networks.local.mailu.dns}} - {{networks.local.mailu.dns}}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
oletools: oletools:
image: {{docker_source}}/oletools:{{applications.mailu.version}} image: {{docker_source}}/oletools:{{applications.mailu.version}}
@ -81,7 +81,7 @@
- resolver - resolver
dns: dns:
- {{networks.local.mailu.dns}} - {{networks.local.mailu.dns}}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
noinet: noinet:
antispam: antispam:
@ -98,7 +98,7 @@
- resolver - resolver
dns: dns:
- {{networks.local.mailu.dns}} - {{networks.local.mailu.dns}}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
noinet: noinet:
@ -112,7 +112,7 @@
- resolver - resolver
dns: dns:
- {{networks.local.mailu.dns}} - {{networks.local.mailu.dns}}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
webdav: webdav:
image: {{docker_source}}/radicale:{{applications.mailu.version}} image: {{docker_source}}/radicale:{{applications.mailu.version}}
@ -123,7 +123,7 @@
- resolver - resolver
dns: dns:
- {{networks.local.mailu.dns}} - {{networks.local.mailu.dns}}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
radicale: radicale:
fetchmail: fetchmail:
@ -138,7 +138,7 @@
- resolver - resolver
dns: dns:
- {{networks.local.mailu.dns}} - {{networks.local.mailu.dns}}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
webmail: webmail:
image: {{docker_source}}/webmail:{{applications.mailu.version}} image: {{docker_source}}/webmail:{{applications.mailu.version}}
@ -152,7 +152,7 @@
- resolver - resolver
dns: dns:
- {{networks.local.mailu.dns}} - {{networks.local.mailu.dns}}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
webmail: webmail:
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}

View File

@ -12,7 +12,7 @@
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
volumes: volumes:
- data:/mastodon/public/system - data:/mastodon/public/system
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
streaming: streaming:
{% set container_port = 4000 %} {% set container_port = 4000 %}
@ -24,7 +24,7 @@
ports: ports:
- "127.0.0.1:{{ports.localhost.websocket[application_id]}}:{{ container_port }}" - "127.0.0.1:{{ports.localhost.websocket[application_id]}}:{{ container_port }}"
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
sidekiq: sidekiq:
image: "{{ applications[application_id].images.mastodon }}" image: "{{ applications[application_id].images.mastodon }}"
@ -35,7 +35,7 @@
- data:/mastodon/public/system - data:/mastodon/public/system
healthcheck: healthcheck:
test: ['CMD-SHELL', "ps aux | grep '[s]idekiq\ 6' || false"] test: ['CMD-SHELL', "ps aux | grep '[s]idekiq\ 6' || false"]
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}
redis: redis:

View File

@ -8,7 +8,7 @@
volumes: volumes:
- data:/var/www/html - data:/var/www/html
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}
data: data:

View File

@ -27,7 +27,7 @@
{% else %} {% else %}
{% endif %} {% endif %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
element: element:
{% set container_port = 80 %} {% set container_port = 80 %}
image: "{{ applications[application_id].images.element }}" image: "{{ applications[application_id].images.element }}"
@ -38,7 +38,7 @@
ports: ports:
- "127.0.0.1:{{ports.localhost.http.element}}:{{ container_port }}" - "127.0.0.1:{{ports.localhost.http.element}}:{{ container_port }}"
{% include 'roles/docker-container/templates/healthcheck/wget.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/wget.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% for item in bridges %} {% for item in bridges %}
mautrix-{{item.bridge_name}}: mautrix-{{item.bridge_name}}:
@ -52,7 +52,7 @@
interval: 1m interval: 1m
timeout: 10s timeout: 10s
retries: 3 retries: 3
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% endfor %} {% endfor %}
{% if applications[application_id].plugins.chatgpt | bool %} {% if applications[application_id].plugins.chatgpt | bool %}
matrix-chatgpt-bot: matrix-chatgpt-bot:

View File

@ -9,7 +9,7 @@
- "mediawiki-data:/var/www/html/" - "mediawiki-data:/var/www/html/"
ports: ports:
- "127.0.0.1:{{ports.localhost.http[application_id]}}:80" - "127.0.0.1:{{ports.localhost.http[application_id]}}:80"
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}

View File

@ -9,7 +9,7 @@
{% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %}
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}
uploads: uploads:

View File

@ -15,7 +15,7 @@
- 'data:{{ bitnami_data_dir }}' - 'data:{{ bitnami_data_dir }}'
{% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}
code: code:

View File

@ -9,7 +9,7 @@
volumes: volumes:
- data:/var/www/html - data:/var/www/html
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
server: server:
logging: logging:
@ -23,7 +23,7 @@
volumes: volumes:
- "{{docker_compose_instance_confd_directory}}:{{target_mount_conf_d_directory}}:ro" - "{{docker_compose_instance_confd_directory}}:{{target_mount_conf_d_directory}}:ro"
- "data:/var/www/html:ro" - "data:/var/www/html:ro"
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}
data: data:

View File

@ -13,7 +13,7 @@
retries: 3 retries: 3
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
ipv4_address: 192.168.102.69 ipv4_address: 192.168.102.69
# @Todo activate # @Todo activate
@ -71,7 +71,7 @@
timeout: 10s timeout: 10s
retries: 3 retries: 3
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
ipv4_address: 192.168.102.70 ipv4_address: 192.168.102.70
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}

View File

@ -34,7 +34,7 @@ x-op-app: &app
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
command: "./docker/prod/web" command: "./docker/prod/web"
container_name: openproject-web container_name: openproject-web
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
cache: cache:
condition: service_started condition: service_started
@ -52,7 +52,7 @@ x-op-app: &app
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
command: "./docker/prod/worker" command: "./docker/prod/worker"
container_name: openproject-worker container_name: openproject-worker
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
cache: cache:
condition: service_started condition: service_started
@ -68,7 +68,7 @@ x-op-app: &app
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
command: "./docker/prod/cron" command: "./docker/prod/cron"
container_name: openproject-cron container_name: openproject-cron
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
cache: cache:
condition: service_started condition: service_started
@ -87,7 +87,7 @@ x-op-app: &app
logging: logging:
driver: journald driver: journald
restart: on-failure restart: on-failure
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
volumes: volumes:
- "data:/var/openproject/assets" - "data:/var/openproject/assets"
- "{{dummy_volume}}:/var/openproject/pgdata" # This mount is unnecessary and just done to prevent anonymous volumes - "{{dummy_volume}}:/var/openproject/pgdata" # This mount is unnecessary and just done to prevent anonymous volumes

View File

@ -13,7 +13,7 @@
- data:/data - data:/data
- config:/config - config:/config
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
healthcheck: healthcheck:
# This just tests if the service is running on port 9000. It doesn't check if there is an 200 or e.g. an 404 response # This just tests if the service is running on port 9000. It doesn't check if there is an 200 or e.g. an 404 response
{% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %}

View File

@ -8,7 +8,7 @@
ports: ports:
- "127.0.0.1:{{ports.localhost.http[application_id]}}:80" - "127.0.0.1:{{ports.localhost.http[application_id]}}:80"
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/healthcheck/wget.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/wget.yml.j2' %}
volumes: volumes:
- "data:/var/lib/pgadmin" - "data:/var/lib/pgadmin"

View File

@ -7,7 +7,7 @@
- 127.0.0.1:{{ports.localhost.http[application_id]}}:8080 - 127.0.0.1:{{ports.localhost.http[application_id]}}:8080
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}
data: data:

View File

@ -8,7 +8,7 @@
ports: ports:
- "127.0.0.1:{{ports.localhost.http[application_id]}}:{{ container_port }}" - "127.0.0.1:{{ports.localhost.http[application_id]}}:{{ container_port }}"
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-compose/templates/networks.yml.j2' %}

View File

@ -9,7 +9,7 @@
ports: ports:
- "{{ports.localhost.http[application_id]}}:80" - "{{ports.localhost.http[application_id]}}:80"
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
worker: worker:
image: "{{ applications[application_id].images.pixelfed }}" image: "{{ applications[application_id].images.pixelfed }}"
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
@ -25,7 +25,7 @@
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
application: application:
condition: service_started condition: service_started
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}
redis: redis:

View File

@ -11,7 +11,7 @@
volumes: volumes:
- {{docker_repository_path}}app:/app - {{docker_repository_path}}app:/app
restart: unless-stopped restart: unless-stopped
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-compose/templates/networks.yml.j2' %}

View File

@ -9,7 +9,7 @@
- {{ path_cymais_presentation_output.stdout }}:/app - {{ path_cymais_presentation_output.stdout }}:/app
- {{ path_cymais_output.stdout }}:/source - {{ path_cymais_output.stdout }}:/source
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-compose/templates/networks.yml.j2' %}

View File

@ -8,7 +8,7 @@
ports: ports:
- "{{ports.localhost.http[application_id]}}:3000" - "{{ports.localhost.http[application_id]}}:3000"
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-compose/templates/networks.yml.j2' %}

View File

@ -9,7 +9,7 @@
ports: ports:
- "127.0.0.1:{{ports.localhost.http[application_id]}}:{{ container_port }}" - "127.0.0.1:{{ports.localhost.http[application_id]}}:{{ container_port }}"
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}
redis: redis:

View File

@ -8,6 +8,6 @@
- "127.0.0.1:{{ports.localhost.http[application_id]}}:{{ container_port }}" - "127.0.0.1:{{ports.localhost.http[application_id]}}:{{ container_port }}"
{% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %}
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-compose/templates/networks.yml.j2' %}

View File

@ -4,7 +4,7 @@ services:
environment: environment:
CELERY_ENABLED: "False" CELERY_ENABLED: "False"
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
entrypoint: "python manage.py" entrypoint: "python manage.py"
volumes: volumes:
- static-data:/taiga-back/static - static-data:/taiga-back/static

View File

@ -15,7 +15,7 @@
{% endif %} {% endif %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
taiga: taiga:
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
taiga-events-rabbitmq: taiga-events-rabbitmq:
@ -50,7 +50,7 @@
{% endif %} {% endif %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
taiga: taiga:
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
taiga-events-rabbitmq: taiga-events-rabbitmq:
@ -72,13 +72,13 @@
volumes: volumes:
- async-rabbitmq-data:/var/lib/rabbitmq - async-rabbitmq-data:/var/lib/rabbitmq
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
taiga: taiga:
taiga-front: taiga-front:
image: {{taiga_image_frontend}}:{{applications.taiga.version}} image: {{taiga_image_frontend}}:{{applications.taiga.version}}
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
taiga: taiga:
# volumes: # volumes:
# - {{ taiga_frontend_conf_path }}:/usr/share/nginx/html/conf.json:ro # - {{ taiga_frontend_conf_path }}:/usr/share/nginx/html/conf.json:ro
@ -86,7 +86,7 @@
taiga-events: taiga-events:
image: taigaio/taiga-events:latest image: taigaio/taiga-events:latest
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
taiga: taiga:
depends_on: depends_on:
taiga-events-rabbitmq: taiga-events-rabbitmq:
@ -99,14 +99,14 @@
- events-rabbitmq-data:/var/lib/rabbitmq - events-rabbitmq-data:/var/lib/rabbitmq
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
taiga: taiga:
taiga-protected: taiga-protected:
image: taigaio/taiga-protected:latest image: taigaio/taiga-protected:latest
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
taiga: taiga:
taiga-gateway: taiga-gateway:
@ -119,7 +119,7 @@
- media-data:/taiga/media - media-data:/taiga/media
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
taiga: taiga:
depends_on: depends_on:
- taiga-front - taiga-front

View File

@ -12,7 +12,7 @@
{% include 'roles/docker-container/templates/healthcheck/msmtp_curl.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/msmtp_curl.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-compose/templates/networks.yml.j2' %}

View File

@ -10,7 +10,7 @@
{% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes-just-database.yml.j2' %} {% include 'roles/docker-compose/templates/volumes-just-database.yml.j2' %}

View File

@ -4,15 +4,13 @@ services:
application: application:
image: "{{ applications[application_id].images[application_id] }}" image: "{{ applications[application_id].images[application_id] }}"
volumes: volumes: []
- uploads:/var/lib/mobilizon/uploads
- {{ mobilizon_host_conf_exs_file }}:/etc/mobilizon/config.exs:ro
ports: ports:
- "127.0.0.1:{{ ports.localhost.http[application_id] }}:{{ container_port }}" - "127.0.0.1:{{ ports.localhost.http[application_id] }}:{{ container_port }}"
{% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %} {% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %}
{% include 'roles/docker-container/templates/base.yml.j2' %} {% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on_dmbs.j2' %} {% include 'roles/docker-container/templates/depends_on_dmbs.j2' %}
{% include 'roles/docker-compose/templates/networks.yml.j2' %} {% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %}
uploads: uploads:

View File

@ -22,7 +22,7 @@ class TestDockerComposeTemplates(unittest.TestCase):
def test_docker_compose_includes(self): def test_docker_compose_includes(self):
""" """
Verifies for each found docker-compose.yml.j2: Verifies for each found docker-compose.yml.j2:
1. BASE_INCLUDE and NET_INCLUDE are present 1. BASE_INCLUDE and NET_INCLUDE are present exactly once
2. BASE_INCLUDE appears before NET_INCLUDE 2. BASE_INCLUDE appears before NET_INCLUDE
3. Only allowed lines appear before BASE_INCLUDE (invalid lines issue warnings) 3. Only allowed lines appear before BASE_INCLUDE (invalid lines issue warnings)
""" """
@ -36,17 +36,24 @@ class TestDockerComposeTemplates(unittest.TestCase):
content = template_path.read_text(encoding='utf-8') content = template_path.read_text(encoding='utf-8')
lines = content.splitlines() lines = content.splitlines()
# Find BASE_INCLUDE # Check each include occurs exactly once
try: count_base = lines.count(self.BASE_INCLUDE)
idx_base = lines.index(self.BASE_INCLUDE) self.assertEqual(
except ValueError: count_base,
self.fail(f"{template_path}: '{self.BASE_INCLUDE}' not found") 1,
f"{template_path}: '{self.BASE_INCLUDE}' occurs {count_base} times, expected once"
)
count_net = lines.count(self.NET_INCLUDE)
self.assertEqual(
count_net,
1,
f"{template_path}: '{self.NET_INCLUDE}' occurs {count_net} times, expected once"
)
# Find NET_INCLUDE # Find BASE_INCLUDE index
try: idx_base = lines.index(self.BASE_INCLUDE)
idx_net = lines.index(self.NET_INCLUDE) # Find NET_INCLUDE index
except ValueError: idx_net = lines.index(self.NET_INCLUDE)
self.fail(f"{template_path}: '{self.NET_INCLUDE}' not found")
# Check order # Check order
self.assertLess( self.assertLess(