mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
87 lines
4.0 KiB
Django/Jinja
87 lines
4.0 KiB
Django/Jinja
x-op-app: &app
|
|
logging:
|
|
driver: journald
|
|
{{ lookup('container_image', application_id, 'web') }}
|
|
{{ lookup('template', 'roles/sys-svc-container/templates/build.yml.j2') | indent(2) }}
|
|
args:
|
|
OPENPROJECT_IMAGE: "{{ OPENPROJECT_IMAGE }}"
|
|
OPENPROJECT_VERSION: "{{ OPENPROJECT_VERSION }}"
|
|
|
|
{% include 'roles/sys-svc-compose/templates/base.yml.j2' %}
|
|
|
|
{% set service_name = 'cache' %}
|
|
{{ service_name }}:
|
|
{{ lookup('container_image', 'svc-db-memcached', 'memcached') }}
|
|
{{ lookup('compose_only', 'container_name', OPENPROJECT_CACHE_CONTAINER) }}
|
|
{% include 'roles/sys-svc-container/templates/base.yml.j2' %}
|
|
|
|
{% set service_name = 'proxy' %}
|
|
{{ service_name }}:
|
|
{% include 'roles/sys-svc-container/templates/base.yml.j2' %}
|
|
{{ lookup('container_image', application_id, 'proxy', version=OPENPROJECT_VERSION) }}
|
|
{{ lookup('compose_only', 'container_name', OPENPROJECT_PROXY_CONTAINER) }}
|
|
{{ lookup('compose_only', 'pull_policy', 'never') }}
|
|
command: "./docker/prod/proxy"
|
|
{{ lookup('container_ports', ['openproject', 'http', DOCKER_BIND_HOST]) | indent(4) }}
|
|
environment:
|
|
APP_HOST: {{ OPENPROJECT_WEB_SERVICE }}
|
|
{{ lookup('depends_on', [OPENPROJECT_WEB_SERVICE]) }}
|
|
{{ lookup('container_volumes', service_name) | indent(4) }}
|
|
|
|
{% set service_name = OPENPROJECT_WEB_SERVICE %}
|
|
{{ service_name }}:
|
|
<<: *app
|
|
{% include 'roles/sys-svc-container/templates/base.yml.j2' %}
|
|
command: ["{{ OPENPROJECT_AWAIT_MIGRATIONS_TARGET }}", "{{ OPENPROJECT_MIGRATION_WAIT_SECONDS }}", "{{ OPENPROJECT_MIGRATION_POLL_SECONDS }}", "./docker/prod/web"]
|
|
{{ lookup('compose_only', 'container_name', OPENPROJECT_WEB_CONTAINER) }}
|
|
{{ lookup('container_extra_hosts') | indent(4) }}
|
|
{{ lookup('container_networks') | indent(4) }}
|
|
{{ lookup('container_depends_on', application_id, extra={
|
|
'cache': {'condition': 'service_started'},
|
|
OPENPROJECT_SEEDER_SERVICE: {'condition': 'service_completed_successfully'},
|
|
}) | indent(4) }}
|
|
{{ lookup('container_healthcheck', service_name) | indent(4) }}
|
|
{{ lookup('container_volumes', service_name) | indent(4) }}
|
|
|
|
{% set service_name = 'worker' %}
|
|
{{ service_name }}:
|
|
<<: *app
|
|
{% include 'roles/sys-svc-container/templates/base.yml.j2' %}
|
|
command: ["{{ OPENPROJECT_AWAIT_MIGRATIONS_TARGET }}", "{{ OPENPROJECT_MIGRATION_WAIT_SECONDS }}", "{{ OPENPROJECT_MIGRATION_POLL_SECONDS }}", "./docker/prod/worker"]
|
|
{{ lookup('compose_only', 'container_name', OPENPROJECT_WORKER_CONTAINER) }}
|
|
{{ lookup('container_extra_hosts') | indent(4) }}
|
|
{{ lookup('container_networks') | indent(4) }}
|
|
{{ lookup('container_depends_on', application_id, extra={
|
|
'cache': {'condition': 'service_started'},
|
|
OPENPROJECT_SEEDER_SERVICE: {'condition': 'service_completed_successfully'},
|
|
}) | indent(4) }}
|
|
{{ lookup('container_volumes', service_name) | indent(4) }}
|
|
|
|
{% set service_name = 'cron' %}
|
|
{{ service_name }}:
|
|
<<: *app
|
|
{% include 'roles/sys-svc-container/templates/base.yml.j2' %}
|
|
command: "./docker/prod/cron"
|
|
{{ lookup('compose_only', 'container_name', OPENPROJECT_CRON_CONTAINER) }}
|
|
{{ lookup('container_extra_hosts') | indent(4) }}
|
|
{{ lookup('container_networks') | indent(4) }}
|
|
{{ lookup('container_depends_on', application_id, extra={
|
|
'cache': {'condition': 'service_started'},
|
|
OPENPROJECT_SEEDER_SERVICE: {'condition': 'service_completed_successfully'},
|
|
}) | indent(4) }}
|
|
{{ lookup('container_volumes', service_name) | indent(4) }}
|
|
|
|
{% set service_name = OPENPROJECT_SEEDER_SERVICE %}
|
|
{% set docker_restart_policy = 'on-failure' %}
|
|
{{ service_name }}:
|
|
<<: *app
|
|
{% include 'roles/sys-svc-container/templates/base.yml.j2' %}
|
|
command: "./docker/prod/seeder"
|
|
{{ lookup('compose_only', 'container_name', OPENPROJECT_SEEDER_CONTAINER) }}
|
|
{{ lookup('container_extra_hosts') | indent(4) }}
|
|
{{ lookup('container_networks') | indent(4) }}
|
|
{{ lookup('container_volumes', service_name) | indent(4) }}
|
|
|
|
{{ lookup('compose_volumes') }}
|
|
{{ lookup('compose_networks') }}
|