Compare commits

..

3 Commits

65 changed files with 230 additions and 245 deletions

View File

@ -1,20 +1,11 @@
--- ---
- name: variable mapping
hosts: all
vars:
activate_all_timers: "{{ activate_all_timers | lower | bool }}"
nginx_matomo_tracking: "{{ nginx_matomo_tracking | lower | bool }}"
execute_updates: "{{ execute_updates | lower | bool }}"
force_backup_before_update: "{{ force_backup_before_update | lower | bool }}"
enable_central_database: "{{ enable_central_database | lower | bool }}"
- name: update device - name: update device
hosts: all hosts: all
become: true become: true
tasks:
roles: roles:
- role: update - role: update
when: execute_updates when: execute_updates | bool
- name: setup standard wireguard - name: setup standard wireguard
hosts: wireguard_server hosts: wireguard_server

View File

@ -86,6 +86,9 @@ system_maintenance_manipulation_services:
## Total System Maintenance Services ## Total System Maintenance Services
system_maintenance_services: "{{ system_maintenance_backup_services + system_maintenance_cleanup_services + system_maintenance_manipulation_services }}" system_maintenance_services: "{{ system_maintenance_backup_services + system_maintenance_cleanup_services + system_maintenance_manipulation_services }}"
### Define Variables for Docker Volume Health services
whitelisted_anonymous_docker_volumes: []
# Webserver Configuration # Webserver Configuration
## Nginx-Specific Path Configurations ## Nginx-Specific Path Configurations

View File

@ -37,7 +37,7 @@
- name: configure backup-docker-to-local.timer.tpl - name: configure backup-docker-to-local.timer.tpl
template: src=backup-docker-to-local.timer.j2 dest=/etc/systemd/system/backup-docker-to-local.timer template: src=backup-docker-to-local.timer.j2 dest=/etc/systemd/system/backup-docker-to-local.timer
register: backup_docker_to_local_timer register: backup_docker_to_local_timer
changed_when: backup_docker_to_local_timer.changed or activate_all_timers changed_when: backup_docker_to_local_timer.changed or activate_all_timers | bool
notify: restart backup-docker-to-local.timer notify: restart backup-docker-to-local.timer
when: run_once_backup_docker_to_local is not defined when: run_once_backup_docker_to_local is not defined
@ -46,7 +46,6 @@
cmd: "python database_entry_seeder.py databases.csv {{docker_compose_project_name}} {{database_host}} {{database_databasename}} {{database_username}} {{database_password}}" cmd: "python database_entry_seeder.py databases.csv {{docker_compose_project_name}} {{database_host}} {{database_databasename}} {{database_username}} {{database_password}}"
chdir: "{{backup_docker_to_local_folder}}" chdir: "{{backup_docker_to_local_folder}}"
when: > when: >
docker_compose_project_name is defined or
database_host is defined or database_host is defined or
database_databasename is defined or database_databasename is defined or
database_username is defined or database_username is defined or
@ -59,8 +58,7 @@
owner: root owner: root
group: root group: root
when: > when: >
(docker_compose_project_name is defined or (database_host is defined or
database_host is defined or
database_databasename is defined or database_databasename is defined or
database_username is defined or database_username is defined or
database_password is defined) and database_password is defined) and

View File

@ -17,7 +17,7 @@
- name: create backup-remote-to-local.timer - name: create backup-remote-to-local.timer
template: src=backup-remote-to-local.timer.j2 dest=/etc/systemd/system/backup-remote-to-local.timer template: src=backup-remote-to-local.timer.j2 dest=/etc/systemd/system/backup-remote-to-local.timer
register: backup_backup_remote_to_local_timer register: backup_backup_remote_to_local_timer
changed_when: backup_backup_remote_to_local_timer.changed or activate_all_timers changed_when: backup_backup_remote_to_local_timer.changed or activate_all_timers | bool
notify: restart backup-remote-to-local timer notify: restart backup-remote-to-local timer
- name: create backups-remote-to-local.sh - name: create backups-remote-to-local.sh

View File

@ -3,7 +3,7 @@
src: "cleanup-backups.timer.j2" src: "cleanup-backups.timer.j2"
dest: "/etc/systemd/system/cleanup-backups.timer" dest: "/etc/systemd/system/cleanup-backups.timer"
register: cleanup_backups_timer register: cleanup_backups_timer
changed_when: cleanup_backups_timer.changed or activate_all_timers changed_when: cleanup_backups_timer.changed or activate_all_timers | bool
notify: restart cleanup-backups.timer notify: restart cleanup-backups.timer
when: run_once_cleanup_backups_timer is not defined when: run_once_cleanup_backups_timer is not defined

View File

@ -20,5 +20,5 @@
src: cleanup-disc-space.timer.j2 src: cleanup-disc-space.timer.j2
dest: /etc/systemd/system/cleanup-disc-space.timer dest: /etc/systemd/system/cleanup-disc-space.timer
register: cleanup_disc_space_timer register: cleanup_disc_space_timer
changed_when: cleanup_disc_space_timer.changed or activate_all_timers changed_when: cleanup_disc_space_timer.changed or activate_all_timers | bool
notify: restart cleanup-disc-space.timer notify: restart cleanup-disc-space.timer

View File

@ -24,7 +24,7 @@
src: cleanup-failed-docker-backups.timer.j2 src: cleanup-failed-docker-backups.timer.j2
dest: /etc/systemd/system/cleanup-failed-docker-backups.timer dest: /etc/systemd/system/cleanup-failed-docker-backups.timer
register: cleanup_failed_docker_backups_timer register: cleanup_failed_docker_backups_timer
changed_when: cleanup_failed_docker_backups_timer.changed or activate_all_timers changed_when: cleanup_failed_docker_backups_timer.changed or activate_all_timers | bool
notify: restart cleanup-failed-docker-backups.timer notify: restart cleanup-failed-docker-backups.timer
when: run_once_cleanup_failed_docker_backups is not defined when: run_once_cleanup_failed_docker_backups is not defined

View File

@ -2,7 +2,7 @@ version: '3.7'
services: services:
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %} {% include 'templates/docker-service-' + database_type + '.yml.j2' %}
application: application:
image: docker.io/akaunting/akaunting:{{version_akaunting}} image: docker.io/akaunting/akaunting:{{version_akaunting}}
@ -18,7 +18,7 @@ services:
environment: environment:
- AKAUNTING_SETUP - AKAUNTING_SETUP
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
{% include 'templates/docker-container-depends-on.yml.j2' %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker-compose-volumes.yml.j2' %}
data: data:

View File

@ -1,5 +1,10 @@
version: '3.2' version: '3.2'
services: services:
{% include 'templates/docker-service-redis.yml.j2' %}
{% include 'templates/docker-service-' + database_type + '.yml.j2' %}
web: web:
image: attendize_web:latest image: attendize_web:latest
ports: ports:
@ -7,9 +12,8 @@ services:
volumes: volumes:
- .:/usr/share/nginx/html - .:/usr/share/nginx/html
- .:/var/www - .:/var/www
{% include 'templates/docker-container-depends-on.yml.j2' %} {% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
maildev: maildev:
redis:
worker: worker:
env_file: env_file:
- ./.env - ./.env
@ -17,24 +21,19 @@ services:
worker: worker:
image: attendize_worker:latest image: attendize_worker:latest
{% include 'templates/docker-container-depends-on.yml.j2' %} {% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
maildev: maildev:
redis:
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
volumes: volumes:
- .:/usr/share/nginx/html - .:/usr/share/nginx/html
- .:/var/www - .:/var/www
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
maildev: maildev:
image: maildev/maildev image: maildev/maildev
ports: ports:
- "{{ mail_interface_http_port }}:1080" - "{{ mail_interface_http_port }}:1080"
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
{% include 'templates/docker-container-depends-on.yml.j2' %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
{% include 'templates/docker-service-redis.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker-compose-volumes.yml.j2' %}
redis: redis:

View File

@ -1,6 +1,11 @@
version: '2' version: '2'
services: services:
{% include 'templates/docker-service-redis.yml.j2' %}
{% include 'templates/docker-service-' + database_type + '.yml.j2' %}
baserow: baserow:
image: baserow/baserow:1.19.1 image: baserow/baserow:1.19.1
restart: always restart: always
@ -13,11 +18,7 @@ services:
ports: ports:
- "{{http_port}}:80" - "{{http_port}}:80"
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
{% include 'templates/docker-container-depends-on.yml.j2' %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
{% include 'templates/docker-service-redis.yml.j2' %}
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker-compose-volumes.yml.j2' %}
data: data:

View File

@ -1,6 +1,5 @@
docker_compose_project_name: "bigbluebutton" docker_compose_project_name: "bigbluebutton"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/" database_host: "postgres" # needs to be fixed
database_host: "postgres"
database_databasename: "greenlight-v3" database_databasename: "greenlight-v3"
database_username: "postgres" database_username: "postgres"
database_password: "" database_password: ""

View File

@ -71,13 +71,13 @@ env:
DISCOURSE_SMTP_DOMAIN: {{ system_email_domain }} DISCOURSE_SMTP_DOMAIN: {{ system_email_domain }}
DISCOURSE_NOTIFICATION_EMAIL: {{ system_email }} DISCOURSE_NOTIFICATION_EMAIL: {{ system_email }}
{% if enable_central_database %} {% if enable_central_database | bool %}
# Database Configuration # Database Configuration
DISCOURSE_DB_USERNAME: {{ database_username }} DISCOURSE_DB_USERNAME: {{ database_username }}
DISCOURSE_DB_PASSWORD: {{ database_password }} DISCOURSE_DB_PASSWORD: {{ database_password }}
DISCOURSE_DB_HOST: {{ database_host }} DISCOURSE_DB_HOST: {{ database_host }}
DISCOURSE_DB_NAME: {{ database_databasename }} DISCOURSE_DB_NAME: {{ database_databasename }}
{% if enable_central_database %} {% if enable_central_database | bool %}
## If you added the Lets Encrypt template, uncomment below to get a free SSL certificate ## If you added the Lets Encrypt template, uncomment below to get a free SSL certificate
#LETSENCRYPT_ACCOUNT_EMAIL: administrator@veen.world #LETSENCRYPT_ACCOUNT_EMAIL: administrator@veen.world

View File

@ -4,45 +4,38 @@ services:
{% include 'templates/docker-service-redis.yml.j2' %} {% include 'templates/docker-service-redis.yml.j2' %}
env_file: .env
celeryworker: celeryworker:
restart: always restart: always
image: funkwhale/api:${FUNKWHALE_VERSION:-latest} image: funkwhale/api:${FUNKWHALE_VERSION:-latest}
depends_on:
{% include 'templates/docker-container-depends-on.yml.j2' %}
- redis
env_file: .env env_file: .env
command: celery -A funkwhale_api.taskapp worker -l INFO --concurrency=${CELERYD_CONCURRENCY-0} command: celery -A funkwhale_api.taskapp worker -l INFO --concurrency=${CELERYD_CONCURRENCY-0}
environment: environment:
- C_FORCE_ROOT=true - C_FORCE_ROOT=true
volumes: volumes:
- "data:${MEDIA_ROOT}" - "data:${MEDIA_ROOT}"
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
celerybeat: celerybeat:
restart: always restart: always
image: funkwhale/api:${FUNKWHALE_VERSION:-latest} image: funkwhale/api:${FUNKWHALE_VERSION:-latest}
depends_on:
{% include 'templates/docker-container-depends-on.yml.j2' %}
- redis
env_file: .env env_file: .env
command: celery -A funkwhale_api.taskapp beat --pidfile= -l INFO command: celery -A funkwhale_api.taskapp beat --pidfile= -l INFO
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
api: api:
restart: always restart: always
image: funkwhale/api:${FUNKWHALE_VERSION:-latest} image: funkwhale/api:${FUNKWHALE_VERSION:-latest}
depends_on: depends_on:
{% include 'templates/docker-container-depends-on.yml.j2' %}
- redis
env_file: .env env_file: .env
volumes: volumes:
- "data:${MEDIA_ROOT}" - "data:${MEDIA_ROOT}"
#- "${STATIC_ROOT}:${STATIC_ROOT}" #- "${STATIC_ROOT}:${STATIC_ROOT}"
ports: ports:
- "5000" - "5000"
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
front: front:
@ -63,8 +56,6 @@ services:
- "${FUNKWHALE_API_IP}:${FUNKWHALE_API_PORT}:80" - "${FUNKWHALE_API_IP}:${FUNKWHALE_API_PORT}:80"
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker-compose-volumes.yml.j2' %}
data: data:
redis: redis:

View File

@ -1,6 +1,9 @@
version: '3' version: '3'
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %}
application: application:
logging: logging:
driver: journald driver: journald
@ -28,7 +31,7 @@ services:
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
{% include 'templates/docker-container-depends-on.yml.j2' %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker-compose-volumes.yml.j2' %}
data: data:

View File

@ -1,5 +1,10 @@
version: '3.6' version: '3.6'
services: services:
{% include 'templates/docker-service-redis.yml.j2' %}
{% include 'templates/docker-service-' + database_type + '.yml.j2' %}
web: web:
image: 'gitlab/gitlab-ee:latest' image: 'gitlab/gitlab-ee:latest'
restart: always restart: always
@ -32,16 +37,10 @@ services:
- 'logs:/var/log/gitlab' - 'logs:/var/log/gitlab'
- 'data:/var/opt/gitlab' - 'data:/var/opt/gitlab'
shm_size: '256m' shm_size: '256m'
depends_on: {% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
{% if not enable_central_database %} {% include 'templates/docker-container-networks.yml.j2' %}
database:
condition: service_healthy
{% endif %}
redis:
{% include 'templates/docker-service-redis.yml.j2' %} {% include 'templates/docker-compose-networks.yml.j2' %}
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker-compose-volumes.yml.j2' %}
redis: redis:

View File

@ -1,6 +1,9 @@
version: '3' version: '3'
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %}
application: application:
image: joomla image: joomla
logging: logging:
@ -11,17 +14,12 @@ services:
JOOMLA_DB_PASSWORD: "{{database_password}}" JOOMLA_DB_PASSWORD: "{{database_password}}"
JOOMLA_DB_NAME: "{{database_databasename}}" JOOMLA_DB_NAME: "{{database_databasename}}"
restart: always restart: always
{% include 'templates/docker-container-depends-on.yml.j2' %}
volumes: volumes:
- data:/var/www/html - data:/var/www/html
ports: ports:
- "127.0.0.1:{{http_port}}:80" - "127.0.0.1:{{http_port}}:80"
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
{% if enable_central_database %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
depends_on:
database:
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker-compose-volumes.yml.j2' %}
data: data:

View File

@ -2,6 +2,8 @@ version: "3.7"
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %}
application: application:
restart: unless-stopped restart: unless-stopped
image: listmonk/listmonk:latest image: listmonk/listmonk:latest
@ -12,8 +14,6 @@ services:
volumes: volumes:
- ./config.toml:/listmonk/config.toml - ./config.toml:/listmonk/config.toml
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
{% include 'templates/docker-container-depends-on.yml.j2' %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker-compose-networks.yml.j2' %}

View File

@ -64,5 +64,5 @@
src: "deploy-letsencrypt-mailu.timer.j2" src: "deploy-letsencrypt-mailu.timer.j2"
dest: "/etc/systemd/system/deploy-letsencrypt-mailu.timer" dest: "/etc/systemd/system/deploy-letsencrypt-mailu.timer"
register: deploy_letsencrypt_mailu_timer register: deploy_letsencrypt_mailu_timer
changed_when: deploy_letsencrypt_mailu_timer.changed or activate_all_timers changed_when: deploy_letsencrypt_mailu_timer.changed or activate_all_timers | bool
notify: restart deploy-letsencrypt-mailu.timer notify: restart deploy-letsencrypt-mailu.timer

View File

@ -4,20 +4,16 @@ services:
{% include 'templates/docker-service-redis.yml.j2' %} {% include 'templates/docker-service-redis.yml.j2' %}
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %} {% include 'templates/docker-service-' + database_type + '.yml.j2' %}
# Core services # Core services
resolver: resolver:
image: ghcr.io/mailu/unbound:{{version_mailu}} image: ghcr.io/mailu/unbound:{{version_mailu}}
env_file: mailu.env env_file: mailu.env
restart: always restart: always
networks: {% include 'templates/docker-container-networks.yml.j2' %}
default: default:
ipv4_address: 192.168.203.254 ipv4_address: 192.168.203.254
{{docker_compose_project_name}}_network:
{% if enable_central_database %}
central_{{ database_type }}_network:
{% endif %}
logging: logging:
driver: journald driver: journald
@ -39,13 +35,9 @@ services:
volumes: volumes:
- "/etc/mailu/overrides/nginx:/overrides:ro" - "/etc/mailu/overrides/nginx:/overrides:ro"
- "/etc/mailu/certs:/certs" - "/etc/mailu/certs:/certs"
depends_on: {% include 'templates/docker-container-depends-on-also-database.yml.j2' %}
resolver: resolver:
condition: service_started condition: service_started
{% if not enable_central_database %}
database:
condition: service_healthy
{% endif %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
default: default:
webmail: webmail:
@ -60,11 +52,9 @@ services:
volumes: volumes:
- "admin_data:/data" - "admin_data:/data"
- "dkim:/dkim" - "dkim:/dkim"
depends_on: {% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
resolver: resolver:
front: front:
redis:
{% include 'templates/docker-container-depends-on.yml.j2' %}
logging: logging:
driver: journald driver: journald
dns: dns:
@ -202,7 +192,6 @@ services:
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
webmail: webmail:
volumes:
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker-compose-volumes.yml.j2' %}
smtp_queue: smtp_queue:
admin_data: admin_data:

View File

@ -1,6 +1,2 @@
docker_compose_project_name: "mailu" docker_compose_project_name: "mailu"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database"
database_databasename: "{{docker_compose_project_name}}"
database_username: "{{docker_compose_project_name}}"
database_password: "{{mailu_database_password}}" database_password: "{{mailu_database_password}}"

View File

@ -29,6 +29,12 @@
timeout: 120 timeout: 120
when: run_once_docker_mariadb is not defined when: run_once_docker_mariadb is not defined
- name: install python-mysqlclient
pacman:
name: python-mysqlclient
state: present
when: run_once_docker_mariadb is not defined
- name: create database - name: create database
mysql_db: mysql_db:
name: "{{database_databasename}}" name: "{{database_databasename}}"
@ -37,7 +43,6 @@
login_password: "{{central_mariadb_root_password}}" login_password: "{{central_mariadb_root_password}}"
login_host: 127.0.0.1 login_host: 127.0.0.1
login_port: 3306 login_port: 3306
listen: create database
- name: create database user - name: create database user
mysql_user: mysql_user:
@ -49,7 +54,6 @@
login_password: "{{central_mariadb_root_password}}" login_password: "{{central_mariadb_root_password}}"
login_host: 127.0.0.1 login_host: 127.0.0.1
login_port: 3306 login_port: 3306
listen: create database
- name: run the docker_mariadb tasks once - name: run the docker_mariadb tasks once
set_fact: set_fact:

View File

@ -3,7 +3,7 @@ services:
{% include 'templates/docker-service-redis.yml.j2' %} {% include 'templates/docker-service-redis.yml.j2' %}
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %} {% include 'templates/docker-service-' + database_type + '.yml.j2' %}
web: web:
image: tootsuite/mastodon:{{version_mastodon}} image: tootsuite/mastodon:{{version_mastodon}}
@ -14,10 +14,7 @@ services:
test: ['CMD-SHELL', 'wget -q --spider --proxy=off localhost:3000/health || exit 1'] test: ['CMD-SHELL', 'wget -q --spider --proxy=off localhost:3000/health || exit 1']
ports: ports:
- "127.0.0.1:{{http_port}}:3000" - "127.0.0.1:{{http_port}}:3000"
depends_on: {% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
{% include 'templates/docker-container-depends-on.yml.j2' %}
redis:
condition: service_healthy
volumes: volumes:
- data:/mastodon/public/system - data:/mastodon/public/system
logging: logging:
@ -33,9 +30,7 @@ services:
test: ['CMD-SHELL', 'wget -q --spider --proxy=off localhost:4000/api/v1/streaming/health || exit 1'] test: ['CMD-SHELL', 'wget -q --spider --proxy=off localhost:4000/api/v1/streaming/health || exit 1']
ports: ports:
- "127.0.0.1:{{stream_port}}:4000" - "127.0.0.1:{{stream_port}}:4000"
{% include 'templates/docker-container-depends-on.yml.j2' %} {% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
redis:
condition: service_healthy
logging: logging:
driver: journald driver: journald
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
@ -45,10 +40,7 @@ services:
restart: always restart: always
env_file: .env.production env_file: .env.production
command: bundle exec sidekiq command: bundle exec sidekiq
depends_on: {% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
{% include 'templates/docker-container-depends-on.yml.j2' %}
redis:
condition: service_healthy
volumes: volumes:
- data:/mastodon/public/system - data:/mastodon/public/system
healthcheck: healthcheck:

View File

@ -8,7 +8,7 @@ server {
{% include 'roles/letsencrypt/templates/ssl_header.j2' %} {% include 'roles/letsencrypt/templates/ssl_header.j2' %}
{% if nginx_matomo_tracking %} {% if nginx_matomo_tracking | bool %}
{% include 'roles/nginx-matomo-tracking/templates/matomo-tracking.conf.j2' %} {% include 'roles/nginx-matomo-tracking/templates/matomo-tracking.conf.j2' %}
{% endif %} {% endif %}

View File

@ -1,6 +1,9 @@
version: '3' version: '3'
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %}
application: application:
logging: logging:
driver: journald driver: journald
@ -16,12 +19,10 @@ services:
MATOMO_DATABASE_DBNAME: "{{database_databasename}}" MATOMO_DATABASE_DBNAME: "{{database_databasename}}"
volumes: volumes:
- data:/var/www/html - data:/var/www/html
{% if not enable_central_database %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
depends_on: {% include 'templates/docker-container-networks.yml.j2' %}
- database
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
{% endif %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker-compose-volumes.yml.j2' %}
data: data:
{% include 'templates/docker-compose-networks.yml.j2' %}

View File

@ -1,7 +1,9 @@
version: '3.1' version: '3.1'
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %}
synapse: synapse:
image: matrixdotorg/synapse:latest image: matrixdotorg/synapse:latest
restart: always restart: always
@ -16,11 +18,8 @@ services:
- SYNAPSE_REPORT_STATS=no - SYNAPSE_REPORT_STATS=no
ports: ports:
- "127.0.0.1:{{synapse_http_port}}:8008" - "127.0.0.1:{{synapse_http_port}}:8008"
{% if not enable_central_database %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
depends_on: {% include 'templates/docker-container-networks.yml.j2' %}
- database
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
{% endif %}
element: element:
image: vectorim/element-web:latest image: vectorim/element-web:latest
@ -29,6 +28,7 @@ services:
- ./element-config.json:/app/config.json - ./element-config.json:/app/config.json
ports: ports:
- "127.0.0.1:{{element_http_port}}:80" - "127.0.0.1:{{element_http_port}}:80"
{% include 'templates/docker-container-networks.yml.j2' %}
# bridges # bridges
#mautrix-telegram: #mautrix-telegram:
@ -64,4 +64,6 @@ services:
#telegram_bridge_data: #telegram_bridge_data:
#whatsapp_bridge_data: #whatsapp_bridge_data:
#facebook_bridge_data: #facebook_bridge_data:
#instagram_bridge_data: #instagram_bridge_data:
{% include 'templates/docker-compose-networks.yml.j2' %}

View File

@ -1,5 +1,8 @@
version: '3.8' version: '3.8'
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %}
application: application:
logging: logging:
driver: journald driver: journald
@ -9,10 +12,9 @@ services:
restart: always restart: always
volumes: volumes:
- data:/var/www/html - data:/var/www/html
{% if not enable_central_database %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
depends_on: {% include 'templates/docker-container-networks.yml.j2' %}
- database
{% endif %}
server: server:
logging: logging:
driver: journald driver: journald
@ -25,8 +27,9 @@ services:
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 'templates/docker-container-networks.yml.j2' %}
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker-compose-volumes.yml.j2' %}
data: data:
{% include 'templates/docker-compose-networks.yml.j2' %}

View File

@ -1,6 +1,11 @@
version: '3' version: '3'
services: services:
{% include 'templates/docker-service-redis.yml.j2' %}
{% include 'templates/docker-service-' + database_type + '.yml.j2' %}
application: application:
image: "nextcloud:{{version_nextcloud}}-fpm-alpine" image: "nextcloud:{{version_nextcloud}}-fpm-alpine"
restart: always restart: always
@ -13,12 +18,8 @@ services:
MYSQL_USER: "{{database_username}}" MYSQL_USER: "{{database_username}}"
MYSQL_PASSWORD: "{{database_password}}" MYSQL_PASSWORD: "{{database_password}}"
MYSQL_HOST: {{database_host}}:3306 MYSQL_HOST: {{database_host}}:3306
{% if not enable_central_database %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
depends_on: {% include 'templates/docker-container-networks.yml.j2' %}
- database
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
{% endif %}
web: web:
image: nginx:alpine image: nginx:alpine
@ -27,14 +28,11 @@ services:
restart: always restart: always
ports: ports:
- "127.0.0.1:{{http_port}}:80" - "127.0.0.1:{{http_port}}:80"
depends_on:
- application
volumes: volumes:
- "{{path_docker_volumes}}nextcloud/nginx.conf:/etc/nginx/nginx.conf:ro" - "{{path_docker_volumes}}nextcloud/nginx.conf:/etc/nginx/nginx.conf:ro"
volumes_from: volumes_from:
- application - application
{% include 'templates/docker-container-networks.yml.j2' %}
{% include 'templates/docker-service-redis.yml.j2' %}
cron: cron:
image: "nextcloud:{{version_nextcloud}}-fpm-alpine" image: "nextcloud:{{version_nextcloud}}-fpm-alpine"
@ -44,9 +42,11 @@ services:
volumes: volumes:
- data:/var/www/html - data:/var/www/html
entrypoint: /cron.sh entrypoint: /cron.sh
{% include 'templates/docker-container-depends-on.yml.j2' %} {% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
redis: {% include 'templates/docker-container-networks.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker-compose-volumes.yml.j2' %}
data: data:
redis: redis:
{% include 'templates/docker-compose-networks.yml.j2' %}

View File

@ -4,7 +4,7 @@ server
{% include 'roles/letsencrypt/templates/ssl_header.j2' %} {% include 'roles/letsencrypt/templates/ssl_header.j2' %}
{% if nginx_matomo_tracking %} {% if nginx_matomo_tracking | bool %}
{% include 'roles/nginx-matomo-tracking/templates/matomo-tracking.conf.j2' %} {% include 'roles/nginx-matomo-tracking/templates/matomo-tracking.conf.j2' %}
{% endif %} {% endif %}

View File

@ -1,18 +1,8 @@
version: "3.7" version: "3.7"
networks:
frontend:
backend:
{% include 'templates/docker-compose-volumes.yml.j2' %}
data:
x-op-restart-policy: &restart_policy
restart: unless-stopped
x-op-image: &image
image: openproject/community:${TAG:-13}
x-op-app: &app x-op-app: &app
<<: [*image, *restart_policy] restart: unless-stopped
image: openproject/community:${TAG:-13}
environment: environment:
OPENPROJECT_HTTPS: "${OPENPROJECT_HTTPS}" OPENPROJECT_HTTPS: "${OPENPROJECT_HTTPS}"
OPENPROJECT_HOST__NAME: "${OPENPROJECT_HOST__NAME}" OPENPROJECT_HOST__NAME: "${OPENPROJECT_HOST__NAME}"
@ -27,24 +17,20 @@ x-op-app: &app
IMAP_ENABLED: "${IMAP_ENABLED:-false}" IMAP_ENABLED: "${IMAP_ENABLED:-false}"
volumes: volumes:
- "data:/var/openproject/assets" - "data:/var/openproject/assets"
{% if not enable_central_database %} # - "database:/var/openproject/pgdata"
- "database:/var/openproject/pgdata"
{% endif %}
services: services:
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %} {% include 'templates/docker-service-' + database_type + '.yml.j2' %}
networks:
- backend
cache: cache:
image: memcached image: memcached
<<: *restart_policy restart: unless-stopped
networks: {% include 'templates/docker-container-networks.yml.j2' %}
- backend
proxy: proxy:
<<: [*image, *restart_policy] restart: unless-stopped
image: openproject/community:${TAG:-13}
command: "./docker/prod/proxy" command: "./docker/prod/proxy"
ports: ports:
- "${PORT}:80" - "${PORT}:80"
@ -53,21 +39,16 @@ services:
OPENPROJECT_RAILS__RELATIVE__URL__ROOT: "${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}" OPENPROJECT_RAILS__RELATIVE__URL__ROOT: "${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}"
depends_on: depends_on:
- web - web
networks: {% include 'templates/docker-container-networks.yml.j2' %}
- frontend
volumes: volumes:
- "data:/var/openproject/assets" - "data:/var/openproject/assets"
{% if not enable_central_database %} # - "database:/var/openproject/pgdata" Should definetly not be necessary here
- "database:/var/openproject/pgdata"
{% endif %}
web: web:
<<: *app <<: *app
command: "./docker/prod/web" command: "./docker/prod/web"
networks: {% include 'templates/docker-container-networks.yml.j2' %}
- frontend {% include 'templates/docker-container-depends-on-also-database.yml.j2' %}
- backend
{% include 'templates/docker-container-depends-on.yml.j2' %}
cache: cache:
seeder: seeder:
labels: labels:
@ -91,18 +72,16 @@ services:
worker: worker:
<<: *app <<: *app
command: "./docker/prod/worker" command: "./docker/prod/worker"
networks: {% include 'templates/docker-container-networks.yml.j2' %}
- backend {% include 'templates/docker-container-depends-on-also-database.yml.j2' %}
{% include 'templates/docker-container-depends-on.yml.j2' %}
cache: cache:
seeder: seeder:
cron: cron:
<<: *app <<: *app
command: "./docker/prod/cron" command: "./docker/prod/cron"
networks: {% include 'templates/docker-container-networks.yml.j2' %}
- backend {% include 'templates/docker-container-depends-on-also-database.yml.j2' %}
{% include 'templates/docker-container-depends-on.yml.j2' %}
cache: cache:
seeder: seeder:
@ -110,5 +89,9 @@ services:
<<: *app <<: *app
command: "./docker/prod/seeder" command: "./docker/prod/seeder"
restart: on-failure restart: on-failure
networks: {% include 'templates/docker-container-networks.yml.j2' %}
- backend
{% include 'templates/docker-compose-networks.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %}
data:

View File

@ -1,6 +1,11 @@
version: "3.3" version: "3.3"
services: services:
{% include 'templates/docker-service-redis.yml.j2' %}
{% include 'templates/docker-service-' + database_type + '.yml.j2' %}
application: application:
image: chocobozzz/peertube:production-bullseye image: chocobozzz/peertube:production-bullseye
env_file: env_file:
@ -13,21 +18,13 @@ services:
- data:/data - data:/data
- config:/config - config:/config
restart: "always" restart: "always"
depends_on: {% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
- redis {% include 'templates/docker-container-networks.yml.j2' %}
{% if not enable_central_database %}
- database
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
{% endif %}
{% include 'templates/docker-service-redis.yml.j2' %}
env_file:
- .env
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker-compose-volumes.yml.j2' %}
assets: assets:
data: data:
redis: redis:
config: config:
{% include 'templates/docker-compose-networks.yml.j2' %}

View File

@ -3,7 +3,7 @@ server {
{% include 'roles/letsencrypt/templates/ssl_header.j2' %} {% include 'roles/letsencrypt/templates/ssl_header.j2' %}
{% if nginx_matomo_tracking %} {% if nginx_matomo_tracking | bool %}
{% include 'roles/nginx-matomo-tracking/templates/matomo-tracking.conf.j2' %} {% include 'roles/nginx-matomo-tracking/templates/matomo-tracking.conf.j2' %}
{% endif %} {% endif %}

View File

@ -2,7 +2,7 @@ version: '2'
services: services:
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %} {% include 'templates/docker-service-' + database_type + '.yml.j2' %}
{% include 'templates/docker-service-redis.yml.j2' %} {% include 'templates/docker-service-redis.yml.j2' %}
@ -14,13 +14,13 @@ services:
env_file: env_file:
- ./env - ./env
volumes: volumes:
- "application_data:/var/www/storage" - "data:/var/www/storage"
- "bootstrap:/var/www/bootstrap" - "bootstrap:/var/www/bootstrap"
- "./env:/var/www/.env" - "./env:/var/www/.env"
ports: ports:
- "{{http_port}}:80" - "{{http_port}}:80"
{% include 'templates/docker-container-depends-on.yml.j2' %} {% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
redis: {% include 'templates/docker-container-networks.yml.j2' %}
worker: worker:
image: zknt/pixelfed image: zknt/pixelfed
restart: always restart: always
@ -29,7 +29,7 @@ services:
env_file: env_file:
- ./env - ./env
volumes: volumes:
- "application_data:/var/www/storage" - "data:/var/www/storage"
- "bootstrap:/var/www/bootstrap" - "bootstrap:/var/www/bootstrap"
- "./env:/var/www/.env" - "./env:/var/www/.env"
entrypoint: /worker-entrypoint.sh entrypoint: /worker-entrypoint.sh
@ -38,11 +38,13 @@ services:
interval: 60s interval: 60s
timeout: 5s timeout: 5s
retries: 1 retries: 1
{% include 'templates/docker-container-depends-on.yml.j2' %} {% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
redis:
application: application:
{% include 'templates/docker-container-networks.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker-compose-volumes.yml.j2' %}
redis: redis:
application_data: data:
bootstrap: bootstrap:
{% include 'templates/docker-compose-networks.yml.j2' %}

View File

@ -34,7 +34,6 @@
login_password: "{{ central_postgres_password }}" login_password: "{{ central_postgres_password }}"
login_host: 127.0.0.1 login_host: 127.0.0.1
login_port: 5432 login_port: 5432
listen: create database
- name: Create database user - name: Create database user
postgresql_user: postgresql_user:
@ -47,7 +46,6 @@
login_password: "{{ central_postgres_password }}" login_password: "{{ central_postgres_password }}"
login_host: 127.0.0.1 login_host: 127.0.0.1
login_port: 5432 login_port: 5432
listen: create database
- name: Run the docker_postgres tasks once - name: Run the docker_postgres tasks once
set_fact: set_fact:

View File

@ -1,3 +1,2 @@
docker_compose_project_name: "roulette-wheel" docker_compose_project_name: "roulette-wheel"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
app_path: "{{docker_compose_instance_directory}}/app/" app_path: "{{docker_compose_instance_directory}}/app/"

View File

@ -17,12 +17,10 @@ services:
WORDPRESS_DB_NAME: "{{database_databasename}}" WORDPRESS_DB_NAME: "{{database_databasename}}"
volumes: volumes:
- data:/var/www/html - data:/var/www/html
{% if not enable_central_database %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
depends_on: {% include 'templates/docker-container-networks.yml.j2' %}
- database
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %} {% include 'templates/docker-compose-networks.yml.j2' %}
{% endif %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker-compose-volumes.yml.j2' %}
data: data:

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -2,6 +2,10 @@
- name: include docker vars - name: include docker vars
include_vars: vars/docker-database-service.yml.j2 include_vars: vars/docker-database-service.yml.j2
- name: load docker compose dependencies
include_role:
name: docker-compose
- name: create central database - name: create central database
include_role: include_role:
name: docker-{{database_type}} name: docker-{{database_type}}

View File

@ -1,6 +1,9 @@
version: '3' version: '3'
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %}
application: application:
logging: logging:
driver: journald driver: journald
@ -16,12 +19,8 @@ services:
YOURLS_SITE: "https://{{domain}}" YOURLS_SITE: "https://{{domain}}"
YOURLS_USER: "{{yourls_user}}" YOURLS_USER: "{{yourls_user}}"
YOURLS_PASS: "{{yourls_user_password}}" YOURLS_PASS: "{{yourls_user_password}}"
{% if not enable_central_database %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
depends_on: {% include 'templates/docker-container-networks.yml.j2' %}
- database
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %} {% include 'templates/docker-compose-volumes-just-database.yml.j2' %}
{% include 'templates/docker-compose-networks.yml.j2' %}
volumes:
database:
{% endif %}

View File

@ -23,7 +23,7 @@
src: heal-docker.timer.j2 src: heal-docker.timer.j2
dest: "/etc/systemd/system/heal-docker.timer" dest: "/etc/systemd/system/heal-docker.timer"
register: heal_docker_timer register: heal_docker_timer
changed_when: heal_docker_timer.changed or activate_all_timers changed_when: heal_docker_timer.changed or activate_all_timers | bool
notify: restart heal-docker.timer notify: restart heal-docker.timer
when: run_once_heal_docker is not defined when: run_once_heal_docker is not defined

View File

@ -20,5 +20,5 @@
src: health-btrfs.timer.j2 src: health-btrfs.timer.j2
dest: "/etc/systemd/system/health-btrfs.timer" dest: "/etc/systemd/system/health-btrfs.timer"
register: health_btrs_timer register: health_btrs_timer
changed_when: health_btrs_timer.changed or activate_all_timers changed_when: health_btrs_timer.changed or activate_all_timers | bool
notify: restart health-btrfs.timer notify: restart health-btrfs.timer

View File

@ -20,5 +20,5 @@
src: health-disc-space.timer.j2 src: health-disc-space.timer.j2
dest: /etc/systemd/system/health-disc-space.timer dest: /etc/systemd/system/health-disc-space.timer
register: health_disc_space_timer register: health_disc_space_timer
changed_when: health_disc_space_timer.changed or activate_all_timers changed_when: health_disc_space_timer.changed or activate_all_timers | bool
notify: restart health-disc-space.timer notify: restart health-disc-space.timer

View File

@ -21,7 +21,7 @@
src: health-docker-container.timer.j2 src: health-docker-container.timer.j2
dest: "/etc/systemd/system/health-docker-container.timer" dest: "/etc/systemd/system/health-docker-container.timer"
register: health_docker_container_timer register: health_docker_container_timer
changed_when: health_docker_container_timer.changed or activate_all_timers changed_when: health_docker_container_timer.changed or activate_all_timers | bool
notify: restart health-docker-container.timer notify: restart health-docker-container.timer
when: run_once_health_docker_container is not defined when: run_once_health_docker_container is not defined

View File

@ -21,7 +21,7 @@
src: health-docker-volumes.timer.j2 src: health-docker-volumes.timer.j2
dest: "/etc/systemd/system/health-docker-volumes.timer" dest: "/etc/systemd/system/health-docker-volumes.timer"
register: health_docker_volumes_timer register: health_docker_volumes_timer
changed_when: health_docker_volumes_timer.changed or activate_all_timers changed_when: health_docker_volumes_timer.changed or activate_all_timers | bool
notify: restart health-docker-volumes.timer notify: restart health-docker-volumes.timer
when: run_once_health_docker_volumes is not defined when: run_once_health_docker_volumes is not defined

View File

@ -20,5 +20,5 @@
src: health-journalctl.timer.j2 src: health-journalctl.timer.j2
dest: /etc/systemd/system/health-journalctl.timer dest: /etc/systemd/system/health-journalctl.timer
register: health_journalctl_timer register: health_journalctl_timer
changed_when: health_journalctl_timer.changed or activate_all_timers changed_when: health_journalctl_timer.changed or activate_all_timers | bool
notify: restart health-journalctl.timer notify: restart health-journalctl.timer

View File

@ -29,7 +29,7 @@
src: health-nginx.timer.j2 src: health-nginx.timer.j2
dest: "/etc/systemd/system/health-nginx.timer" dest: "/etc/systemd/system/health-nginx.timer"
register: health_nginx_timer register: health_nginx_timer
changed_when: health_nginx_timer.changed or activate_all_timers changed_when: health_nginx_timer.changed or activate_all_timers | bool
notify: restart health-nginx.timer notify: restart health-nginx.timer
when: run_once_health_nginx is not defined when: run_once_health_nginx is not defined

View File

@ -31,7 +31,7 @@ for filename in os.listdir(config_path):
# Determine expected status codes based on the domain # Determine expected status codes based on the domain
if domain == '{{domain_listmonk}}': if domain == '{{domain_listmonk}}':
expected_statuses = [401] expected_statuses = [401]
{% if nginx_matomo_tracking %} {% if nginx_matomo_tracking | bool %}
elif parts[0] == 'www' or domain in redirected_domains: elif parts[0] == 'www' or domain in redirected_domains:
expected_statuses = [301] expected_statuses = [301]
{% endif %} {% endif %}

View File

@ -16,7 +16,7 @@
src: certbot.timer.j2 src: certbot.timer.j2
dest: /etc/systemd/system/certbot.timer dest: /etc/systemd/system/certbot.timer
register: certbot_timer register: certbot_timer
changed_when: certbot_timer.changed or activate_all_timers changed_when: certbot_timer.changed or activate_all_timers | bool
notify: restart certbot timer notify: restart certbot timer
when: run_once_nginx_certbot is not defined when: run_once_nginx_certbot is not defined

View File

@ -3,7 +3,7 @@ server
server_name {{domain}}; server_name {{domain}};
# Include Matomo Tracking Code # Include Matomo Tracking Code
{% if nginx_matomo_tracking %} {% if nginx_matomo_tracking | bool %}
{% include 'roles/nginx-matomo-tracking/templates/matomo-tracking.conf.j2' %} {% include 'roles/nginx-matomo-tracking/templates/matomo-tracking.conf.j2' %}
{% endif %} {% endif %}

View File

@ -5,7 +5,7 @@ server
{% include 'roles/letsencrypt/templates/ssl_header.j2' %} {% include 'roles/letsencrypt/templates/ssl_header.j2' %}
{% if nginx_matomo_tracking %} {% if nginx_matomo_tracking | bool %}
{% include 'roles/nginx-matomo-tracking/templates/matomo-tracking.conf.j2' %} {% include 'roles/nginx-matomo-tracking/templates/matomo-tracking.conf.j2' %}
{% endif %} {% endif %}

View File

@ -4,6 +4,13 @@
notify: restart nginx notify: restart nginx
when: run_once_nginx is not defined when: run_once_nginx is not defined
- name: install nginx-mod-headers-more for matomo
pacman:
name: nginx-mod-headers-more
state: present
notify: restart nginx
when: run_once_nginx is not defined and nginx_matomo_tracking | bool
- name: Ensure nginx configuration directories are present - name: Ensure nginx configuration directories are present
file: file:
path: "{{ item }}" path: "{{ item }}"

View File

@ -1,4 +1,7 @@
{% if nginx_matomo_tracking | bool %}
load_module /usr/lib/nginx/modules/ngx_http_headers_more_filter_module.so; load_module /usr/lib/nginx/modules/ngx_http_headers_more_filter_module.so;
{% endif %}
worker_processes auto; worker_processes auto;
events events

View File

@ -2,7 +2,7 @@
systemd: systemd:
name: backup-docker-to-local-everything.service name: backup-docker-to-local-everything.service
state: started state: started
when: force_backup_before_update when: force_backup_before_update | bool
- name: create {{update_docker_script}} - name: create {{update_docker_script}}
copy: copy:

View File

@ -1,4 +1,4 @@
- name: Activate NGINX matomo tracking - name: Activate NGINX matomo tracking
include_role: include_role:
name: nginx-matomo-tracking name: nginx-matomo-tracking
when: nginx_matomo_tracking and domain is defined when: nginx_matomo_tracking | bool and domain is defined

View File

@ -1,5 +1,6 @@
# This template needs to be included in docker-compose.yml
networks: networks:
{% if enable_central_database %} {% if enable_central_database | bool %}
central_{{ database_type }}_network: central_{{ database_type }}_network:
external: true external: true
{% endif %} {% endif %}

View File

@ -0,0 +1,5 @@
# This needs to be included in docker-compose.yml which just contain a database volume
{% if not enable_central_database | bool %}
volumes:
database:
{% endif %}

View File

@ -1,4 +1,5 @@
# This template needs to be included in docker-compose.yml which contain a database and additional volumes
volumes: volumes:
{% if not enable_central_database %} {% if not enable_central_database | bool %}
database: database:
{% endif %} {% endif %}

View File

@ -0,0 +1,6 @@
# This template needs to be included in docker-compose.yml containers which depend on a database and additional containers
depends_on:
{% if not enable_central_database | bool %}
database:
condition: service_healthy
{% endif %}

View File

@ -0,0 +1,8 @@
# This template needs to be included in docker-compose.yml contaienrs, which depend on a database, redis and optional additional volumes
depends_on:
{% if not enable_central_database | bool %}
database:
condition: service_healthy
{% endif %}
redis:
condition: service_healthy

View File

@ -0,0 +1,6 @@
# This template needs to be included in docker-compose.yml contaienrs, which just depend on a database
{% if not enable_central_database | bool %}
depends_on:
database:
condition: service_healthy
{% endif %}

View File

@ -1,5 +0,0 @@
{% if enable_central_database %}
depends_on:
database:
condition: service_healthy
{% endif %}

View File

@ -1,5 +1,6 @@
# This template needs to be included in docker-compose.yml containers
networks: networks:
- {{docker_compose_project_name}}_network - {{docker_compose_project_name}}_network
{% if enable_central_database %} {% if enable_central_database | bool %}
- central_{{ database_type }}_network - central_{{ database_type }}_network
{% endif %} {% endif %}

View File

@ -1,4 +1,5 @@
{% if not enable_central_database %} # This template needs to be included in docker-compose.yml, which depend on a mariadb database
{% if not enable_central_database | bool %}
database: database:
logging: logging:
driver: journald driver: journald

View File

@ -1,4 +1,5 @@
{% if not enable_central_database %} # This template needs to be included in docker-compose.yml, which depend on a postgres database
{% if not enable_central_database | bool %}
database: database:
image: postgres:{{database_version}}-alpine image: postgres:{{database_version}}-alpine
environment: environment:

View File

@ -1,3 +1,4 @@
# This template needs to be included in docker-compose.yml, which depend on redis
redis: redis:
image: redis:alpine image: redis:alpine
restart: always restart: always

View File

@ -1,4 +1,6 @@
docker_compose_instance_directory: "{{ docker_compose_instance_directory | default(path_docker_compose_instances + docker_compose_project_name + '/') }}" docker_compose_instance_directory: "{{ path_docker_compose_instances + docker_compose_project_name + '/' }}"
database_host: "{{ database_host | default('database') }}" database_host: "{{ 'central-' + database_type if enable_central_database else 'database' }}"
database_databasename: "{{ database_databasename | default(docker_compose_project_name) }}" database_databasename: "{{ docker_compose_project_name }}"
database_username: "{{ database_username | default(docker_compose_project_name) }}" database_username: "{{ docker_compose_project_name }}"
# This will lead to problems with bbb and openproject