Compare commits

...

3 Commits

70 changed files with 276 additions and 251 deletions

View File

@ -170,9 +170,10 @@ version_mastodon: "latest"
mastodon_single_user_mode: false mastodon_single_user_mode: false
#### Matrix #### Matrix
matrix_admin_name: "admin" # Accountname of the matrix admin
matrix_playbook_tags: "setup-all,start" # For the initial update use: install-all,ensure-matrix-users-created,start matrix_playbook_tags: "setup-all,start" # For the initial update use: install-all,ensure-matrix-users-created,start
matrix_role: "compose" # Role to setup Matrix. Valid values: ansible, compose matrix_role: "compose" # Role to setup Matrix. Valid values: ansible, compose
matrix_admin_name: "admin" matrix_server_name: "{{top_domain}}" # Adress for the account names etc.
#### Mailu #### Mailu
version_mailu: "2.0" version_mailu: "2.0"

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -2,7 +2,7 @@ version: '3.7'
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
application: application:
image: docker.io/akaunting/akaunting:{{version_akaunting}} image: docker.io/akaunting/akaunting:{{version_akaunting}}
@ -17,10 +17,10 @@ services:
- env/run.env - env/run.env
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-just-database.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:
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -1,6 +1,6 @@
docker_compose_project_name: "akaunting" docker_compose_project_name: "akaunting"
docker_compose_file_path: "{{docker_compose_instance_directory}}docker-compose.yml" docker_compose_file_path: "{{docker_compose_instance_directory}}docker-compose.yml"
docker_compose_backup_path: "/tmp/{{docker_compose_project_name}}-docker-compose-backup.yml" docker_compose_backup_path: "/tmp/{{docker_compose_project_name}}-docker/compose/backup.yml"
database_type: "mariadb" database_type: "mariadb"
database_password: "{{akaunting_database_password}}" database_password: "{{akaunting_database_password}}"
repository_address: "https://github.com/akaunting/docker.git" repository_address: "https://github.com/akaunting/docker.git"

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks to receive attendize certbot certificate" - name: "include tasks to receive attendize certbot certificate"
include_tasks: recieve-certbot-certificate.yml include_tasks: recieve-certbot-certificate.yml

View File

@ -1,9 +1,9 @@
version: '3.2' version: '3.2'
services: services:
{% include 'templates/docker-service-redis.yml.j2' %} {% include 'templates/docker/services/redis.yml.j2' %}
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
web: web:
image: attendize_web:latest image: attendize_web:latest
@ -12,18 +12,18 @@ services:
volumes: volumes:
- .:/usr/share/nginx/html - .:/usr/share/nginx/html
- .:/var/www - .:/var/www
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %} {% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
maildev: maildev:
worker: worker:
env_file: env_file:
- ./.env - ./.env
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
worker: worker:
image: attendize_worker:latest image: attendize_worker:latest
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %} {% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
maildev: maildev:
{% 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
@ -32,10 +32,10 @@ services:
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-just-database.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' %}
redis: redis:
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -1,7 +1,7 @@
--- ---
docker_compose_project_name: "attendize" docker_compose_project_name: "attendize"
docker_compose_file_path: "{{docker_compose_instance_directory}}docker-compose.yml" docker_compose_file_path: "{{docker_compose_instance_directory}}docker-compose.yml"
docker_compose_backup_path: "/tmp/{{docker_compose_project_name}}-docker-compose-backup.yml" docker_compose_backup_path: "/tmp/{{docker_compose_project_name}}-docker/compose/backup.yml"
mail_interface_domain: "mail.{{domain}}" mail_interface_domain: "mail.{{domain}}"
database_type: "mariadb" database_type: "mariadb"
database_password: "{{attendize_database_password}}" database_password: "{{attendize_database_password}}"

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -2,9 +2,9 @@ version: '2'
services: services:
{% include 'templates/docker-service-redis.yml.j2' %} {% include 'templates/docker/services/redis.yml.j2' %}
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
application: application:
image: baserow/baserow:1.19.1 image: baserow/baserow:1.19.1
@ -23,11 +23,11 @@ services:
interval: 1m interval: 1m
timeout: 10s timeout: 10s
retries: 3 retries: 3
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %} {% include 'templates/docker/container/depends-on-database-redis.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' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-common.yml" - name: "include docker/compose/common.yml"
include_tasks: docker-compose-common.yml include_tasks: docker/compose/common.yml
- name: "include task certbot-matomo.yml" - name: "include task certbot-matomo.yml"
include_tasks: certbot-matomo.yml include_tasks: certbot-matomo.yml

View File

@ -6,8 +6,8 @@
name: which name: which
state: present state: present
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -2,11 +2,11 @@ version: '3.8'
services: services:
{% include 'templates/docker-service-redis.yml.j2' %} {% include 'templates/docker/services/redis.yml.j2' %}
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker/compose/volumes.yml.j2' %}
redis: redis:
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -2,7 +2,7 @@ version: "3"
services: services:
{% include 'templates/docker-service-redis.yml.j2' %} {% include 'templates/docker/services/redis.yml.j2' %}
celeryworker: celeryworker:
restart: {{docker_restart_policy}} restart: {{docker_restart_policy}}
@ -13,8 +13,8 @@ services:
- 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/depends-on-database-redis.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
celerybeat: celerybeat:
@ -22,8 +22,8 @@ services:
image: funkwhale/api:${FUNKWHALE_VERSION:-latest} image: funkwhale/api:${FUNKWHALE_VERSION:-latest}
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/depends-on-database-redis.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
api: api:
restart: {{docker_restart_policy}} restart: {{docker_restart_policy}}
@ -35,8 +35,8 @@ services:
#- "${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/depends-on-database-redis.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
front: front:
restart: {{docker_restart_policy}} restart: {{docker_restart_policy}}
@ -54,10 +54,10 @@ services:
ports: ports:
# override those variables in your .env file if needed # override those variables in your .env file if needed
- "${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-compose-volumes.yml.j2' %} {% include 'templates/docker/compose/volumes.yml.j2' %}
data: data:
redis: redis:
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -2,7 +2,7 @@ version: '3'
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
application: application:
logging: logging:
@ -35,10 +35,10 @@ services:
interval: 1m interval: 1m
timeout: 10s timeout: 10s
retries: 3 retries: 3
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
{% include 'templates/docker-container-depends-on-just-database.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:
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -1,9 +1,9 @@
version: '3.6' version: '3.6'
services: services:
{% include 'templates/docker-service-redis.yml.j2' %} {% include 'templates/docker/services/redis.yml.j2' %}
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
web: web:
image: 'gitlab/gitlab-ee:latest' image: 'gitlab/gitlab-ee:latest'
@ -37,12 +37,12 @@ services:
- 'logs:/var/log/gitlab' - 'logs:/var/log/gitlab'
- 'data:/var/opt/gitlab' - 'data:/var/opt/gitlab'
shm_size: '256m' shm_size: '256m'
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %} {% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker/compose/volumes.yml.j2' %}
redis: redis:
config: config:
logs: logs:

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -2,7 +2,7 @@ version: '3'
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
application: application:
image: joomla image: joomla
@ -18,10 +18,10 @@ services:
- 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' %}
{% include 'templates/docker-container-depends-on-just-database.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:
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -3,3 +3,4 @@ Draft role for an LDAP implementation with sso.
## See ## See
- [ChatGPT Conversation](https://chat.openai.com/share/77919994-5d44-4a64-877d-b572d67483d4) - [ChatGPT Conversation](https://chat.openai.com/share/77919994-5d44-4a64-877d-b572d67483d4)
- [Discouse Documentation](https://forum.veen.world/t/cymais-ldap-implementierung-documentation/49) - [Discouse Documentation](https://forum.veen.world/t/cymais-ldap-implementierung-documentation/49)
- [Setup Guide](https://goneuland.de/ldap-nextcloud-und-mailserver-in-docker/)

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -2,7 +2,7 @@ version: "3.7"
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
application: application:
restart: {{docker_restart_policy}} restart: {{docker_restart_policy}}
@ -13,9 +13,9 @@ services:
- TZ=Etc/UTC - TZ=Etc/UTC
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-just-database.yml.j2' %} {% include 'templates/docker/container/depends-on-just-database.yml.j2' %}
{% include 'templates/docker-compose-volumes-just-database.yml.j2' %} {% include 'templates/docker/compose/volumes-just-database.yml.j2' %}
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -2,16 +2,16 @@ version: '2.2'
services: services:
{% include 'templates/docker-service-redis.yml.j2' %} {% include 'templates/docker/services/redis.yml.j2' %}
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + 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: {{docker_restart_policy}} restart: {{docker_restart_policy}}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
ipv4_address: 192.168.203.254 ipv4_address: 192.168.203.254
logging: logging:
driver: journald driver: journald
@ -34,10 +34,10 @@ services:
volumes: volumes:
- "/etc/mailu/overrides/nginx:/overrides:ro" - "/etc/mailu/overrides/nginx:/overrides:ro"
- "/etc/mailu/certs:/certs" - "/etc/mailu/certs:/certs"
{% include 'templates/docker-container-depends-on-also-database.yml.j2' %} {% include 'templates/docker/container/depends-on-also-database.yml.j2' %}
resolver: resolver:
condition: service_started condition: service_started
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
webmail: webmail:
radicale: radicale:
dns: dns:
@ -50,7 +50,7 @@ services:
volumes: volumes:
- "admin_data:/data" - "admin_data:/data"
- "dkim:/dkim" - "dkim:/dkim"
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %} {% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
resolver: resolver:
condition: service_started condition: service_started
front: front:
@ -59,7 +59,7 @@ services:
driver: journald driver: journald
dns: dns:
- 192.168.203.254 - 192.168.203.254
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
imap: imap:
image: ghcr.io/mailu/dovecot:{{version_mailu}} image: ghcr.io/mailu/dovecot:{{version_mailu}}
@ -75,7 +75,7 @@ services:
- 192.168.203.254 - 192.168.203.254
logging: logging:
driver: journald driver: journald
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
smtp: smtp:
image: ghcr.io/mailu/postfix:{{version_mailu}} image: ghcr.io/mailu/postfix:{{version_mailu}}
@ -91,7 +91,7 @@ services:
- 192.168.203.254 - 192.168.203.254
logging: logging:
driver: journald driver: journald
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
oletools: oletools:
image: ghcr.io/mailu/oletools:{{version_mailu}} image: ghcr.io/mailu/oletools:{{version_mailu}}
@ -101,7 +101,7 @@ services:
- resolver - resolver
dns: dns:
- 192.168.203.254 - 192.168.203.254
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
noinet: noinet:
antispam: antispam:
@ -121,7 +121,7 @@ services:
- 192.168.203.254 - 192.168.203.254
logging: logging:
driver: journald driver: journald
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
noinet: noinet:
@ -138,7 +138,7 @@ services:
- 192.168.203.254 - 192.168.203.254
logging: logging:
driver: journald driver: journald
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
webdav: webdav:
image: ghcr.io/mailu/radicale:{{version_mailu}} image: ghcr.io/mailu/radicale:{{version_mailu}}
@ -152,7 +152,7 @@ services:
- resolver - resolver
dns: dns:
- 192.168.203.254 - 192.168.203.254
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
radicale: radicale:
fetchmail: fetchmail:
@ -170,7 +170,7 @@ services:
- resolver - resolver
dns: dns:
- 192.168.203.254 - 192.168.203.254
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
webmail: webmail:
image: ghcr.io/mailu/webmail:{{version_mailu}} image: ghcr.io/mailu/webmail:{{version_mailu}}
@ -187,10 +187,10 @@ services:
driver: journald driver: journald
dns: dns:
- 192.168.203.254 - 192.168.203.254
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
webmail: webmail:
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker/compose/volumes.yml.j2' %}
smtp_queue: smtp_queue:
admin_data: admin_data:
webdav_data: webdav_data:
@ -200,7 +200,7 @@ services:
dovecot_mail: dovecot_mail:
redis: redis:
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}
driver: bridge driver: bridge
ipam: ipam:
driver: default driver: default

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include create-domains.yml" - name: "include create-domains.yml"
include_tasks: create-domains.yml include_tasks: create-domains.yml

View File

@ -1,9 +1,9 @@
version: '3' version: '3'
services: services:
{% include 'templates/docker-service-redis.yml.j2' %} {% include 'templates/docker/services/redis.yml.j2' %}
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
web: web:
image: ghcr.io/mastodon/mastodon:{{version_mastodon}} image: ghcr.io/mastodon/mastodon:{{version_mastodon}}
@ -14,12 +14,12 @@ 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"
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %} {% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
volumes: volumes:
- data:/mastodon/public/system - data:/mastodon/public/system
logging: logging:
driver: journald driver: journald
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
streaming: streaming:
image: ghcr.io/mastodon/mastodon:{{version_mastodon}} image: ghcr.io/mastodon/mastodon:{{version_mastodon}}
@ -30,27 +30,27 @@ 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-database-redis.yml.j2' %} {% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
logging: logging:
driver: journald driver: journald
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
sidekiq: sidekiq:
image: ghcr.io/mastodon/mastodon:{{version_mastodon}} image: ghcr.io/mastodon/mastodon:{{version_mastodon}}
restart: {{docker_restart_policy}} restart: {{docker_restart_policy}}
env_file: .env.production env_file: .env.production
command: bundle exec sidekiq command: bundle exec sidekiq
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %} {% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
volumes: volumes:
- 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"]
logging: logging:
driver: journald driver: journald
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker/compose/volumes.yml.j2' %}
redis: redis:
data: data:
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -2,7 +2,7 @@ version: '3'
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
application: application:
logging: logging:
@ -19,10 +19,10 @@ services:
MATOMO_DATABASE_DBNAME: "{{database_name}}" MATOMO_DATABASE_DBNAME: "{{database_name}}"
volumes: volumes:
- data:/var/www/html - data:/var/www/html
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %} {% include 'templates/docker/container/depends-on-just-database.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.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' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -35,6 +35,14 @@ Matrix is an open-source project that provides a protocol for secure, decentrali
docker-compose logs docker-compose logs
``` ```
## Cleanup
```
# Cleanup Database
for db in matrix mautrix_whatsapp_bridge mautrix_telegram_bridge mautrix_signal_bridge mautrix_slack_bridge; do python reset-database-in-central-postgres.py $db; done
# Cleanup Docker and Volumes
docker compose down -v
```
## Debug: ## Debug:
- https://federationtester.matrix.org/ - https://federationtester.matrix.org/

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include task certbot-matomo.yml" - name: "include task certbot-matomo.yml"
include_tasks: certbot-matomo.yml include_tasks: certbot-matomo.yml
@ -50,15 +50,9 @@
- name: "cleanup project folder" - name: "cleanup project folder"
file: file:
path: "{{docker_compose_instance_directory}}" path: "{{docker_compose_instance_directory}}mautrix/"
state: absent state: absent
- name: "create registrations folder"
file:
path: "{{docker_compose_instance_directory}}registrations"
state: directory
mode: 0755
- name: "create bridge folders" - name: "create bridge folders"
file: file:
path: "{{docker_compose_instance_directory}}mautrix/{{item.bridge_name}}" path: "{{docker_compose_instance_directory}}mautrix/{{item.bridge_name}}"
@ -70,7 +64,6 @@
template: template:
src: "mautrix/{{item.bridge_name}}.config.yml.j2" src: "mautrix/{{item.bridge_name}}.config.yml.j2"
dest: "{{docker_compose_instance_directory}}mautrix/{{item.bridge_name}}/config.yaml" dest: "{{docker_compose_instance_directory}}mautrix/{{item.bridge_name}}/config.yaml"
notify: docker compose project setup
loop: "{{ bridges }}" loop: "{{ bridges }}"
notify: docker compose project setup notify: docker compose project setup
@ -113,14 +106,15 @@
timeout: 120 timeout: 120
loop: "{{ bridges }}" loop: "{{ bridges }}"
- name: move registration files
command:
cmd: mv {{docker_compose_instance_directory}}mautrix/{{item.bridge_name}}/registration.yaml {{docker_compose_instance_directory}}registrations/{{item.bridge_name}}.registration.yaml
chdir: "{{ docker_compose_instance_directory }}"
loop: "{{ bridges }}"
- name: "change file permissions" - name: "change file permissions"
file: file:
path: "{{docker_compose_instance_directory}}registrations/{{item.bridge_name}}.registration.yaml" path: "{{docker_compose_instance_directory}}mautrix/{{item.bridge_name}}/registration.yaml"
mode: 0755 mode: 0755
loop: "{{ bridges }}" loop: "{{ bridges }}"
- name: create admin account
command:
cmd: docker compose exec -it synapse register_new_matrix_user -u {{matrix_admin_name}} -p {{matrix_admin_password}} -a -c /data/homeserver.yaml http://localhost:8008
chdir: "{{ docker_compose_instance_directory }}"
ignore_errors: true
when: mode_setup | bool

View File

@ -2,7 +2,7 @@ version: '3.1'
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
synapse: synapse:
image: matrixdotorg/synapse:latest image: matrixdotorg/synapse:latest
@ -14,15 +14,28 @@ services:
- synapse_data:/data - synapse_data:/data
- ./homeserver.yaml:/data/homeserver.yaml:ro - ./homeserver.yaml:/data/homeserver.yaml:ro
- ./{{synapse_domain}}.log.config:/data/{{synapse_domain}}.log.config:ro - ./{{synapse_domain}}.log.config:/data/{{synapse_domain}}.log.config:ro
- ./registrations:{{registration_file_folder}} {% for item in bridges %}
- {{docker_compose_instance_directory}}mautrix/{{item.bridge_name}}/registration.yaml:{{registration_file_folder}}{{item.bridge_name}}.registration.yaml:ro
{% endfor %}
environment: environment:
- SYNAPSE_SERVER_NAME={{synapse_domain}} - SYNAPSE_SERVER_NAME={{synapse_domain}}
- 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"
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %} healthcheck:
{% include 'templates/docker-container-networks.yml.j2' %} test: ["CMD", "curl", "-f", "http://localhost:8008/"]
interval: 1m
timeout: 10s
retries: 3
{% include 'templates/docker/container/depends-on-also-database.yml.j2' %}
{% for item in bridges %}
mautrix-{{item.bridge_name}}:
# The condition service_healthy does not work.
# In practice is does not make a difference anyhow, due to the reason that synapse will restart until it is running
condition: service_started
{% endfor %}
{% include 'templates/docker/container/networks.yml.j2' %}
element: element:
image: vectorim/element-web:latest image: vectorim/element-web:latest
container_name: matrix-element container_name: matrix-element
@ -31,7 +44,12 @@ 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' %} healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:80/"]
interval: 1m
timeout: 10s
retries: 3
{% include 'templates/docker/container/networks.yml.j2' %}
{% for item in bridges %} {% for item in bridges %}
mautrix-{{item.bridge_name}}: mautrix-{{item.bridge_name}}:
@ -40,12 +58,15 @@ services:
restart: {{docker_restart_policy}} restart: {{docker_restart_policy}}
volumes: volumes:
- ./mautrix/{{item.bridge_name}}:/data - ./mautrix/{{item.bridge_name}}:/data
- ./registrations:{{registration_file_folder}} healthcheck:
test: ["CMD-SHELL", "test -f {{registration_file_folder}}registration.yaml || exit 1"]
{% include 'templates/docker-container-networks.yml.j2' %} interval: 1m
timeout: 10s
retries: 3
{% include 'templates/docker/container/networks.yml.j2' %}
{% endfor %} {% endfor %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker/compose/volumes.yml.j2' %}
synapse_data: synapse_data:
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -3,7 +3,7 @@ homeserver:
# The address that this appservice can use to connect to the homeserver. # The address that this appservice can use to connect to the homeserver.
address: http://synapse:8008 address: http://synapse:8008
# The domain of the homeserver (also known as server_name, used for MXIDs, etc). # The domain of the homeserver (also known as server_name, used for MXIDs, etc).
domain: {{synapse_domain}} domain: {{matrix_server_name}}
# What software is the homeserver running? # What software is the homeserver running?
# Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here. # Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here.
@ -141,7 +141,7 @@ bridge:
federate_rooms: true federate_rooms: true
# Servers to always allow double puppeting from # Servers to always allow double puppeting from
double_puppet_server_map: double_puppet_server_map:
{{synapse_domain}}: https://{{synapse_domain}} {{matrix_server_name}}: https://{{matrix_server_name}}
# Allow using double puppeting from any server with a valid client .well-known file. # Allow using double puppeting from any server with a valid client .well-known file.
double_puppet_allow_discovery: false double_puppet_allow_discovery: false
# Shared secrets for https://github.com/devture/matrix-synapse-shared-secret-auth # Shared secrets for https://github.com/devture/matrix-synapse-shared-secret-auth
@ -150,7 +150,7 @@ bridge:
# instead of users having to find an access token and run `login-matrix` # instead of users having to find an access token and run `login-matrix`
# manually. # manually.
login_shared_secret_map: login_shared_secret_map:
{{synapse_domain}}: foobar {{matrix_server_name}}: foobar
# Maximum time for handling Matrix events. Duration strings formatted for https://pkg.go.dev/time#ParseDuration # Maximum time for handling Matrix events. Duration strings formatted for https://pkg.go.dev/time#ParseDuration
# Null means there's no enforced timeout. # Null means there's no enforced timeout.
@ -274,8 +274,8 @@ bridge:
# mxid - Specific user # mxid - Specific user
permissions: permissions:
"*": relay "*": relay
"{{synapse_domain}}": user "{{matrix_server_name}}": user
"@{{matrix_admin_name}}:{{synapse_domain}}": admin "@{{matrix_admin_name}}:{{matrix_server_name}}": admin
# Settings for relay mode # Settings for relay mode
relay: relay:

View File

@ -3,7 +3,7 @@ homeserver:
# The address that this appservice can use to connect to the homeserver. # The address that this appservice can use to connect to the homeserver.
address: http://synapse:8008 address: http://synapse:8008
# The domain of the homeserver (also known as server_name, used for MXIDs, etc). # The domain of the homeserver (also known as server_name, used for MXIDs, etc).
domain: {{synapse_domain}} domain: {{matrix_server_name}}
# What software is the homeserver running? # What software is the homeserver running?
# Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here. # Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here.
@ -118,7 +118,7 @@ bridge:
# Servers to always allow double puppeting from # Servers to always allow double puppeting from
double_puppet_server_map: double_puppet_server_map:
{{synapse_domain}}: https://{{synapse_domain}} {{matrix_server_name}}: https://{{matrix_server_name}}
# Allow using double puppeting from any server with a valid client .well-known file. # Allow using double puppeting from any server with a valid client .well-known file.
double_puppet_allow_discovery: false double_puppet_allow_discovery: false
# Shared secrets for https://github.com/devture/matrix-synapse-shared-secret-auth # Shared secrets for https://github.com/devture/matrix-synapse-shared-secret-auth
@ -127,7 +127,7 @@ bridge:
# instead of users having to find an access token and run `login-matrix` # instead of users having to find an access token and run `login-matrix`
# manually. # manually.
login_shared_secret_map: login_shared_secret_map:
{{synapse_domain}}: foobar {{matrix_server_name}}: foobar
message_handling_timeout: message_handling_timeout:
# Send an error message after this timeout, but keep waiting for the response until the deadline. # Send an error message after this timeout, but keep waiting for the response until the deadline.
@ -278,8 +278,8 @@ bridge:
# mxid - Specific user # mxid - Specific user
permissions: permissions:
"*": relay "*": relay
"{{synapse_domain}}": user "{{matrix_server_name}}": user
"@{{matrix_admin_name}}:{{synapse_domain}}": admin "@{{matrix_admin_name}}:{{matrix_server_name}}": admin
# Logging config. See https://github.com/tulir/zeroconfig for details. # Logging config. See https://github.com/tulir/zeroconfig for details.
logging: logging:

View File

@ -3,7 +3,7 @@ homeserver:
# The address that this appservice can use to connect to the homeserver. # The address that this appservice can use to connect to the homeserver.
address: http://synapse:8008 address: http://synapse:8008
# The domain of the homeserver (for MXIDs, etc). # The domain of the homeserver (for MXIDs, etc).
domain: {{synapse_domain}} domain: {{matrix_server_name}}
# Whether or not to verify the SSL certificate of the homeserver. # Whether or not to verify the SSL certificate of the homeserver.
# Only applies if address starts with https:// # Only applies if address starts with https://
verify_ssl: true verify_ssl: true
@ -62,7 +62,7 @@ appservice:
prefix: /public prefix: /public
# The base URL where the public-facing endpoints are available. The prefix is not added # The base URL where the public-facing endpoints are available. The prefix is not added
# implicitly. # implicitly.
external: https://{{synapse_domain}}/public external: https://{{matrix_server_name}}/public
# Provisioning API part of the web server for automated portal creation and fetching information. # Provisioning API part of the web server for automated portal creation and fetching information.
# Used by things like mautrix-manager (https://github.com/tulir/mautrix-manager). # Used by things like mautrix-manager (https://github.com/tulir/mautrix-manager).
@ -198,7 +198,7 @@ bridge:
sync_direct_chat_list: false sync_direct_chat_list: false
# Servers to always allow double puppeting from # Servers to always allow double puppeting from
double_puppet_server_map: double_puppet_server_map:
{{synapse_domain}}: https://{{synapse_domain}} {{matrix_server_name}}: https://{{matrix_server_name}}
# Allow using double puppeting from any server with a valid client .well-known file. # Allow using double puppeting from any server with a valid client .well-known file.
double_puppet_allow_discovery: false double_puppet_allow_discovery: false
# Shared secrets for https://github.com/devture/matrix-synapse-shared-secret-auth # Shared secrets for https://github.com/devture/matrix-synapse-shared-secret-auth
@ -209,7 +209,7 @@ bridge:
# If using this for other servers than the bridge's server, # If using this for other servers than the bridge's server,
# you must also set the URL in the double_puppet_server_map. # you must also set the URL in the double_puppet_server_map.
login_shared_secret_map: login_shared_secret_map:
{{synapse_domain}}: foobar {{matrix_server_name}}: foobar
# Set to false to disable link previews in messages sent to Telegram. # Set to false to disable link previews in messages sent to Telegram.
telegram_link_preview: true telegram_link_preview: true
# Whether or not the !tg join command should do a HTTP request # Whether or not the !tg join command should do a HTTP request
@ -530,9 +530,9 @@ bridge:
# mxid - Specific user # mxid - Specific user
permissions: permissions:
"*": "relaybot" "*": "relaybot"
"public.{{synapse_domain}}": "user" "public.{{matrix_server_name}}": "user"
"{{synapse_domain}}": "full" "{{matrix_server_name}}": "full"
"@{{matrix_admin_name}}:{{synapse_domain}}": "admin" "@{{matrix_admin_name}}:{{matrix_server_name}}": "admin"
# Options related to the message relay Telegram bot. # Options related to the message relay Telegram bot.
relaybot: relaybot:

View File

@ -3,7 +3,7 @@ homeserver:
# The address that this appservice can use to connect to the homeserver. # The address that this appservice can use to connect to the homeserver.
address: http://synapse:8008 address: http://synapse:8008
# The domain of the homeserver (also known as server_name, used for MXIDs, etc). # The domain of the homeserver (also known as server_name, used for MXIDs, etc).
domain: {{synapse_domain}} domain: {{matrix_server_name}}
# What software is the homeserver running? # What software is the homeserver running?
# Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here. # Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here.
@ -236,7 +236,7 @@ bridge:
force_active_delivery_receipts: false force_active_delivery_receipts: false
# Servers to always allow double puppeting from # Servers to always allow double puppeting from
double_puppet_server_map: double_puppet_server_map:
{{synapse_domain}}: https://{{synapse_domain}} {{matrix_server_name}}: https://{{matrix_server_name}}
# Allow using double puppeting from any server with a valid client .well-known file. # Allow using double puppeting from any server with a valid client .well-known file.
double_puppet_allow_discovery: false double_puppet_allow_discovery: false
# Shared secrets for https://github.com/devture/matrix-synapse-shared-secret-auth # Shared secrets for https://github.com/devture/matrix-synapse-shared-secret-auth
@ -245,7 +245,7 @@ bridge:
# instead of users having to find an access token and run `login-matrix` # instead of users having to find an access token and run `login-matrix`
# manually. # manually.
login_shared_secret_map: login_shared_secret_map:
{{synapse_domain}}: foobar {{matrix_server_name}}: foobar
# Whether to explicitly set the avatar and room name for private chat portal rooms. # Whether to explicitly set the avatar and room name for private chat portal rooms.
# If set to `default`, this will be enabled in encrypted rooms and disabled in unencrypted rooms. # If set to `default`, this will be enabled in encrypted rooms and disabled in unencrypted rooms.
# If set to `always`, all DM rooms will have explicit names and avatars set. # If set to `always`, all DM rooms will have explicit names and avatars set.
@ -434,8 +434,8 @@ bridge:
# mxid - Specific user # mxid - Specific user
permissions: permissions:
"*": relay "*": relay
"{{synapse_domain}}": user "{{matrix_server_name}}": user
"@{{matrix_admin_name}}:{{synapse_domain}}": admin "@{{matrix_admin_name}}:{{matrix_server_name}}": admin
# Settings for relay mode # Settings for relay mode
relay: relay:

View File

@ -1,4 +1,4 @@
server_name: "{{top_domain}}" server_name: "{{matrix_server_name}}"
pid_file: /data/homeserver.pid pid_file: /data/homeserver.pid
listeners: listeners:
- port: 8008 - port: 8008
@ -39,7 +39,7 @@ email:
#require_transport_security: true #require_transport_security: true
enable_tls: "{{ system_email_tls | upper }}" enable_tls: "{{ system_email_tls | upper }}"
notif_from: "Your Friendly %(app)s homeserver <{{system_email}}>" notif_from: "Your Friendly %(app)s homeserver <{{system_email}}>"
app_name: "Matrix on {{top_domain}}" app_name: "Matrix on {{synapse_domain}}"
enable_notifs: true enable_notifs: true
notif_for_new_users: false notif_for_new_users: false
client_base_url: "{{domain_matrix_synapse}}" client_base_url: "{{domain_matrix_synapse}}"

View File

@ -2,7 +2,7 @@
docker_compose_project_name: "matrix" docker_compose_project_name: "matrix"
database_password: "{{matrix_database_password}}" database_password: "{{matrix_database_password}}"
database_type: "postgres" database_type: "postgres"
registration_file_folder: "/data/registration/" registration_file_folder: "/data/"
well_known_directory: "{{nginx_well_known_root}}/matrix/" well_known_directory: "{{nginx_well_known_root}}/matrix/"
bridges: bridges:

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -1,6 +1,6 @@
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
moodle: moodle:
image: docker.io/bitnami/moodle:latest image: docker.io/bitnami/moodle:latest
ports: ports:
@ -15,13 +15,13 @@ services:
volumes: volumes:
- 'moodle:/bitnami/moodle' - 'moodle:/bitnami/moodle'
- 'data:/bitnami/moodledata' - 'data:/bitnami/moodledata'
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %} {% include 'templates/docker/container/depends-on-just-database.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker/compose/volumes.yml.j2' %}
moodle: moodle:
data: data:
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks create-proxy-with-domain-replace.yml" - name: "include tasks create-proxy-with-domain-replace.yml"
include_tasks: create-proxy-with-domain-replace.yml include_tasks: create-proxy-with-domain-replace.yml

View File

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

View File

@ -133,8 +133,8 @@ Until NC24 MariaDB version has to be used.
- https://help.nextcloud.com/t/update-to-22-failed-with-database-error-updated/120682 - https://help.nextcloud.com/t/update-to-22-failed-with-database-error-updated/120682
- https://help.nextcloud.com/t/nc-update-to-21-0-0-beta1-exception-database-error/101124/4 - https://help.nextcloud.com/t/nc-update-to-21-0-0-beta1-exception-database-error/101124/4
- https://wolfgang.gassler.org/reset-password-mariadb-mysql-docker/ - https://wolfgang.gassler.org/reset-password-mariadb-mysql-docker/
- https://unix.stackexchange.com/questions/478855/ansible-docker-container-and-depends-on - https://unix.stackexchange.com/questions/478855/ansible-docker/container/and-depends-on
- https://github.com/gdiepen/docker-convenience-scripts - https://github.com/gdiepen/docker-convenience-scripts
- https://help.nextcloud.com/t/several-issues-after-upgrading-to-nextcloud-21/113118/3 - https://help.nextcloud.com/t/several-issues-after-upgrading-to-nextcloud-21/113118/3
- https://forum.openmediavault.org/index.php?thread/31782-docker-nextcloud-talk-plugin-and-turnserver/ - https://forum.openmediavault.org/index.php?thread/31782-docker-nextcloud-talk-plugin-and-turnserver/
- https://help.nextcloud.com/t/nextcloud-talk-im-docker-container-turn-server-auf-docker-host-kein-video/84133/10 - https://help.nextcloud.com/t/nextcloud-talk-im-docker/container/turn-server-auf-docker-host-kein-video/84133/10

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include task certbot-matomo.yml" - name: "include task certbot-matomo.yml"
include_tasks: certbot-matomo.yml include_tasks: certbot-matomo.yml

View File

@ -2,9 +2,9 @@ version: '3'
services: services:
{% include 'templates/docker-service-redis.yml.j2' %} {% include 'templates/docker/services/redis.yml.j2' %}
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
application: application:
image: "nextcloud:{{version_nextcloud}}-fpm-alpine" image: "nextcloud:{{version_nextcloud}}-fpm-alpine"
@ -19,8 +19,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
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %} {% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
web: web:
image: nginx:alpine image: nginx:alpine
@ -39,7 +39,7 @@ services:
interval: 1m interval: 1m
timeout: 10s timeout: 10s
retries: 3 retries: 3
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
cron: cron:
container_name: nextcloud-cron container_name: nextcloud-cron
@ -50,11 +50,11 @@ services:
volumes: volumes:
- data:/var/www/html - data:/var/www/html
entrypoint: /cron.sh entrypoint: /cron.sh
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %} {% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% 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' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -21,13 +21,13 @@ x-op-app: &app
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
cache: cache:
image: memcached image: memcached
container_name: openproject-memcached container_name: openproject-memcached
restart: {{docker_restart_policy}} restart: {{docker_restart_policy}}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
proxy: proxy:
restart: {{docker_restart_policy}} restart: {{docker_restart_policy}}
@ -41,7 +41,7 @@ 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
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/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
@ -50,8 +50,8 @@ services:
<<: *app <<: *app
command: "./docker/prod/web" command: "./docker/prod/web"
container_name: openproject-web container_name: openproject-web
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
{% include 'templates/docker-container-depends-on-also-database.yml.j2' %} {% include 'templates/docker/container/depends-on-also-database.yml.j2' %}
cache: cache:
condition: service_started condition: service_started
seeder: seeder:
@ -79,8 +79,8 @@ services:
<<: *app <<: *app
command: "./docker/prod/worker" command: "./docker/prod/worker"
container_name: openproject-worker container_name: openproject-worker
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
{% include 'templates/docker-container-depends-on-also-database.yml.j2' %} {% include 'templates/docker/container/depends-on-also-database.yml.j2' %}
cache: cache:
condition: service_started condition: service_started
seeder: seeder:
@ -90,8 +90,8 @@ services:
<<: *app <<: *app
command: "./docker/prod/cron" command: "./docker/prod/cron"
container_name: openproject-cron container_name: openproject-cron
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
{% include 'templates/docker-container-depends-on-also-database.yml.j2' %} {% include 'templates/docker/container/depends-on-also-database.yml.j2' %}
cache: cache:
condition: service_started condition: service_started
seeder: seeder:
@ -102,9 +102,9 @@ services:
command: "./docker/prod/seeder" command: "./docker/prod/seeder"
container_name: openproject-seeder container_name: openproject-seeder
restart: on-failure restart: on-failure
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker/compose/volumes.yml.j2' %}
data: data:

View File

@ -2,7 +2,7 @@ docker_compose_project_name: "openproject"
repository_directory: "{{ path_docker_compose_instances }}{{docker_compose_project_name}}/" repository_directory: "{{ path_docker_compose_instances }}{{docker_compose_project_name}}/"
docker_compose_instance_directory: "{{repository_directory}}compose/" docker_compose_instance_directory: "{{repository_directory}}compose/"
docker_compose_file_path: "{{docker_compose_instance_directory}}docker-compose.yml" docker_compose_file_path: "{{docker_compose_instance_directory}}docker-compose.yml"
docker_compose_backup_path: "/tmp/{{docker_compose_project_name}}-docker-compose-backup.yml" docker_compose_backup_path: "/tmp/{{docker_compose_project_name}}-docker/compose/backup.yml"
database_password: "{{openproject_database_password}}" database_password: "{{openproject_database_password}}"
repository_address: "https://github.com/opf/openproject-deploy" repository_address: "https://github.com/opf/openproject-deploy"
database_type: "postgres" database_type: "postgres"

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include create-domains.yml" - name: "include create-domains.yml"
include_tasks: create-domains.yml include_tasks: create-domains.yml

View File

@ -2,9 +2,9 @@ version: "3.3"
services: services:
{% include 'templates/docker-service-redis.yml.j2' %} {% include 'templates/docker/services/redis.yml.j2' %}
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
application: application:
image: chocobozzz/peertube:production-bullseye image: chocobozzz/peertube:production-bullseye
@ -18,13 +18,13 @@ services:
- data:/data - data:/data
- config:/config - config:/config
restart: "always" restart: "always"
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %} {% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
{% 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' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -2,9 +2,9 @@ version: '2'
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
{% include 'templates/docker-service-redis.yml.j2' %} {% include 'templates/docker/services/redis.yml.j2' %}
application: application:
image: zknt/pixelfed image: zknt/pixelfed
@ -19,8 +19,8 @@ services:
- "./env:/var/www/.env" - "./env:/var/www/.env"
ports: ports:
- "{{http_port}}:80" - "{{http_port}}:80"
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %} {% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
worker: worker:
image: zknt/pixelfed image: zknt/pixelfed
restart: {{docker_restart_policy}} restart: {{docker_restart_policy}}
@ -38,14 +38,14 @@ services:
interval: 60s interval: 60s
timeout: 5s timeout: 5s
retries: 1 retries: 1
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %} {% include 'templates/docker/container/depends-on-database-redis.yml.j2' %}
application: application:
condition: service_started condition: service_started
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker/compose/volumes.yml.j2' %}
redis: redis:
data: data:
bootstrap: bootstrap:
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-common.yml" - name: "include docker/compose/common.yml"
include_tasks: docker-compose-common.yml include_tasks: docker/compose/common.yml
- name: pull app repository - name: pull app repository
git: git:

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -2,7 +2,7 @@ version: '3'
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
application: application:
logging: logging:
@ -26,10 +26,10 @@ services:
interval: 1m interval: 1m
timeout: 10s timeout: 10s
retries: 3 retries: 3
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %} {% include 'templates/docker/container/depends-on-just-database.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker/compose/volumes.yml.j2' %}
data: data:

View File

@ -1,6 +1,6 @@
--- ---
- name: "include docker-compose-database.yml" - name: "include docker/compose/database.yml"
include_tasks: docker-compose-database.yml include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -2,7 +2,7 @@ version: '3'
services: services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker/services/' + database_type + '.yml.j2' %}
application: application:
logging: logging:
@ -25,8 +25,8 @@ services:
timeout: 10s timeout: 10s
retries: 3 retries: 3
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %} {% include 'templates/docker/container/depends-on-just-database.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker/container/networks.yml.j2' %}
{% include 'templates/docker-compose-volumes-just-database.yml.j2' %} {% include 'templates/docker/compose/volumes-just-database.yml.j2' %}
{% include 'templates/docker-compose-networks.yml.j2' %} {% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -16,4 +16,4 @@ curl -I {{address}}
- https://askubuntu.com/questions/1103626/should-i-enable-client-max-body-size-proxy-request-buffering-and-proxy-bufferin - https://askubuntu.com/questions/1103626/should-i-enable-client-max-body-size-proxy-request-buffering-and-proxy-bufferin
- https://serverfault.com/questions/692577/whats-the-difference-between-proxy-buffer-and-proxy-cache-module-in-nginx-confi - https://serverfault.com/questions/692577/whats-the-difference-between-proxy-buffer-and-proxy-cache-module-in-nginx-confi
- https://github.com/sissbruecker/linkding/issues/88 - https://github.com/sissbruecker/linkding/issues/88
- https://www.bogotobogo.com/DevOps/Docker/docker-compose-Nginx-Reverse-Proxy-Multiple-Containers.php - https://www.bogotobogo.com/DevOps/Docker/docker/compose/Nginx-Reverse-Proxy-Multiple-Containers.php

View File

@ -1,8 +1,8 @@
- name: include docker vars/docker-database.yml.j2 - name: include docker vars/docker-database.yml.j2
include_vars: vars/docker-database.yml.j2 include_vars: vars/docker-database.yml.j2
- name: "include docker-compose-common.yml" - name: "include docker/compose/common.yml"
include_tasks: docker-compose-common.yml include_tasks: docker/compose/common.yml
- name: create central database - name: create central database
include_role: include_role: