mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2024-11-27 07:01:03 +01:00
Compare commits
3 Commits
0aebca62f6
...
722c017088
Author | SHA1 | Date | |
---|---|---|---|
722c017088 | |||
b5af98525a | |||
c4209f0559 |
@ -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"
|
||||||
|
@ -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
|
||||||
|
@ -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' %}
|
@ -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"
|
||||||
|
@ -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
|
||||||
|
@ -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' %}
|
@ -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}}"
|
||||||
|
@ -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
|
||||||
|
@ -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' %}
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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' %}
|
@ -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
|
||||||
|
@ -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' %}
|
@ -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
|
||||||
|
@ -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' %}
|
@ -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
|
||||||
|
@ -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:
|
||||||
|
@ -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
|
||||||
|
@ -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' %}
|
||||||
|
@ -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/)
|
||||||
|
@ -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
|
||||||
|
@ -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' %}
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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' %}
|
@ -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
|
||||||
|
@ -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' %}
|
||||||
|
@ -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/
|
||||||
|
|
||||||
|
@ -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
|
@ -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' %}
|
@ -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:
|
||||||
|
@ -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:
|
||||||
|
@ -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:
|
||||||
|
@ -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:
|
||||||
|
@ -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}}"
|
||||||
|
@ -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:
|
||||||
|
@ -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
|
||||||
|
@ -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' %}
|
||||||
|
|
@ -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
|
||||||
|
@ -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' %}
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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' %}
|
||||||
|
@ -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
|
||||||
|
@ -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:
|
@ -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"
|
||||||
|
@ -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
|
||||||
|
@ -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' %}
|
@ -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
|
||||||
|
@ -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' %}
|
@ -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:
|
||||||
|
@ -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
|
||||||
|
@ -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:
|
||||||
|
@ -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
|
||||||
|
@ -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' %}
|
||||||
|
@ -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
|
||||||
|
@ -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:
|
Loading…
Reference in New Issue
Block a user