ansible-role-bluecloud-webodv/templates/docker-compose-webodv.yml.j2

146 lines
4.3 KiB
Django/Jinja

version: '3.8'
networks:
{{ bluecloud_webodv_haproxy_public_net }}:
external: true
{{ bluecloud_webodv_docker_network }}:
volumes:
{{ bluecloud_webodv_db_volume }}:
driver: local
driver_opts:
type: {{ bluecloud_webodv_db_volume_type }}
o: "{{ bluecloud_webodv_db_volume_o }}"
device: "{{ bluecloud_webodv_db_volume_device }}"
{{ bluecloud_webodv_dbodv_volume }}:
driver: local
driver_opts:
type: {{ bluecloud_webodv_dbodv_volume_type }}
o: "{{ bluecloud_webodv_dbodv_volume_o }}"
device: "{{ bluecloud_webodv_dbodv_volume_device }}"
{{ bluecloud_webodv_data_volume }}:
driver: local
driver_opts:
type: {{ bluecloud_webodv_data_volume_type }}
o: "{{ bluecloud_webodv_data_volume_o }}"
device: "{{ bluecloud_webodv_data_volume_device }}"
services:
db:
image: mysql/mysql-server:8.0.0
environment:
MYSQL_ROOT_PASSWORD: {{ bluecloud_webodv_mysql_root_password }}
MYSQL_DATABASE: {{ bluecloud_webodv_db_name }}
MYSQL_USER: {{ bluecloud_webodv_db_user }}
MYSQL_PASSWORD: {{ bluecloud_webodv_mysql_password }}
networks:
- {{ bluecloud_webodv_docker_network }}
volumes:
- {{ bluecloud_webodv_db_volume }}:/var/lib/mysql
deploy:
placement:
constraints: [node.role == worker]
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
logging:
driver: 'journald'
dbodv:
image: mysql/mysql-server:8.0.0
environment:
MYSQL_ROOT_PASSWORD: {{ bluecloud_webodv_mysql_root_password }}
MYSQL_DATABASE: {{ bluecloud_webodv_dbodv_name }}
MYSQL_USER: {{ bluecloud_webodv_dbodv_user }}
MYSQL_PASSWORD: {{ bluecloud_webodv_mysql_password }}
networks:
- {{ bluecloud_webodv_docker_network }}
deploy:
placement:
constraints: [node.role == worker]
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
logging:
driver: 'journald'
phpmyadmin-db:
image: phpmyadmin/phpmyadmin
networks:
- {{ bluecloud_webodv_haproxy_public_net }}
- {{ bluecloud_webodv_docker_network }}
environment:
PMA_HOST: db
PMA_PORT: 3306
deploy:
placement:
constraints: [node.role == worker]
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
logging:
driver: 'journald'
phpmyadmin-dbodv:
image: phpmyadmin/phpmyadmin
depends_on:
- dbodv
ports:
- 11110:80
networks:
- {{ bluecloud_webodv_haproxy_public_net }}
- {{ bluecloud_webodv_docker_network }}
environment:
PMA_HOST: dbodv
PMA_PORT: 3306
deploy:
placement:
constraints: [node.role == worker]
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
logging:
driver: 'journald'
webodv:
image: smieruch/webodv_bluecloud:latest
depends_on:
- dbodv
- db
ports:
- 11112:80
networks:
- haproxy-public
- {{ bluecloud_webodv_docker_network }}
volumes:
- {{ bluecloud_webodv_data_volume }}:/var/www/html/webodv/storage/app/default:rw
environment:
settings_name: {{ bluecloud_webodv_settings_name }}
settings_path: {{ bluecloud_webodv_settings_path }}
path_to_odv_settings: {{ bluecloud_webodv_path_to_settings }}
proxy_ws: {{ bluecloud_webodv_ws_proxy }}
REVERSE_PROXY: {{ bluecloud_webodv_reverse_proxy }}
FORCE_SCHEME: {{ bluecloud_webodv_scheme }}
FORCE_ROOT_URL: {{ bluecloud_webodv_root_url }}
SESSION_SECURE_COOKIE: "{{ bluecloud_webodv_session_secure_cookie }}"
SAME_SITE: {{ bluecloud_webodv_same_site }}
MAIL_PASSWORD: {{ bluecloud_webodv_smtp_password }}
DB_PASSWORD: {{ bluecloud_webodv_mysql_password }}
SSH_CLIENT: "{{ bluecloud_webodv_ssl_client }}"
CLIENT_URL: {{ bluecloud_webodv_client_url }}
HTTP_PORT: {{ bluecloud_webodv_http_port }}
deploy:
placement:
constraints: [node.role == worker]
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
logging:
driver: 'journald'