mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2024-11-21 20:31:02 +01:00
Finished final raw draft of central database implementation. UNTESTED.
This commit is contained in:
parent
f6652ad51c
commit
273a785453
@ -18,7 +18,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- AKAUNTING_SETUP
|
- AKAUNTING_SETUP
|
||||||
{% include 'templates/docker-container-networks.yml.j2' %}
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
|
||||||
|
|
||||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||||
data:
|
data:
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
version: '3.2'
|
version: '3.2'
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-redis.yml.j2' %}
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
||||||
|
|
||||||
web:
|
web:
|
||||||
image: attendize_web:latest
|
image: attendize_web:latest
|
||||||
ports:
|
ports:
|
||||||
@ -7,9 +12,8 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- .:/usr/share/nginx/html
|
- .:/usr/share/nginx/html
|
||||||
- .:/var/www
|
- .:/var/www
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
|
||||||
maildev:
|
maildev:
|
||||||
redis:
|
|
||||||
worker:
|
worker:
|
||||||
env_file:
|
env_file:
|
||||||
- ./.env
|
- ./.env
|
||||||
@ -17,24 +21,19 @@ services:
|
|||||||
|
|
||||||
worker:
|
worker:
|
||||||
image: attendize_worker:latest
|
image: attendize_worker:latest
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
|
||||||
maildev:
|
maildev:
|
||||||
redis:
|
|
||||||
{% include 'templates/docker-container-networks.yml.j2' %}
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
volumes:
|
volumes:
|
||||||
- .:/usr/share/nginx/html
|
- .:/usr/share/nginx/html
|
||||||
- .:/var/www
|
- .:/var/www
|
||||||
|
|
||||||
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
|
||||||
|
|
||||||
maildev:
|
maildev:
|
||||||
image: maildev/maildev
|
image: maildev/maildev
|
||||||
ports:
|
ports:
|
||||||
- "{{ mail_interface_http_port }}:1080"
|
- "{{ mail_interface_http_port }}:1080"
|
||||||
{% include 'templates/docker-container-networks.yml.j2' %}
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
|
||||||
|
|
||||||
{% include 'templates/docker-service-redis.yml.j2' %}
|
|
||||||
|
|
||||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||||
redis:
|
redis:
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
version: '2'
|
version: '2'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-redis.yml.j2' %}
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
||||||
|
|
||||||
baserow:
|
baserow:
|
||||||
image: baserow/baserow:1.19.1
|
image: baserow/baserow:1.19.1
|
||||||
restart: always
|
restart: always
|
||||||
@ -13,11 +18,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "{{http_port}}:80"
|
- "{{http_port}}:80"
|
||||||
{% include 'templates/docker-container-networks.yml.j2' %}
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
|
||||||
|
|
||||||
{% include 'templates/docker-service-redis.yml.j2' %}
|
|
||||||
|
|
||||||
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
|
||||||
|
|
||||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||||
data:
|
data:
|
||||||
|
@ -4,45 +4,38 @@ services:
|
|||||||
|
|
||||||
{% include 'templates/docker-service-redis.yml.j2' %}
|
{% include 'templates/docker-service-redis.yml.j2' %}
|
||||||
|
|
||||||
env_file: .env
|
|
||||||
|
|
||||||
celeryworker:
|
celeryworker:
|
||||||
restart: always
|
restart: always
|
||||||
image: funkwhale/api:${FUNKWHALE_VERSION:-latest}
|
image: funkwhale/api:${FUNKWHALE_VERSION:-latest}
|
||||||
depends_on:
|
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
|
||||||
- redis
|
|
||||||
env_file: .env
|
env_file: .env
|
||||||
command: celery -A funkwhale_api.taskapp worker -l INFO --concurrency=${CELERYD_CONCURRENCY-0}
|
command: celery -A funkwhale_api.taskapp worker -l INFO --concurrency=${CELERYD_CONCURRENCY-0}
|
||||||
environment:
|
environment:
|
||||||
- C_FORCE_ROOT=true
|
- C_FORCE_ROOT=true
|
||||||
volumes:
|
volumes:
|
||||||
- "data:${MEDIA_ROOT}"
|
- "data:${MEDIA_ROOT}"
|
||||||
|
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
|
||||||
{% include 'templates/docker-container-networks.yml.j2' %}
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
|
|
||||||
|
|
||||||
celerybeat:
|
celerybeat:
|
||||||
restart: always
|
restart: always
|
||||||
image: funkwhale/api:${FUNKWHALE_VERSION:-latest}
|
image: funkwhale/api:${FUNKWHALE_VERSION:-latest}
|
||||||
depends_on:
|
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
|
||||||
- redis
|
|
||||||
env_file: .env
|
env_file: .env
|
||||||
command: celery -A funkwhale_api.taskapp beat --pidfile= -l INFO
|
command: celery -A funkwhale_api.taskapp beat --pidfile= -l INFO
|
||||||
|
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
|
||||||
{% include 'templates/docker-container-networks.yml.j2' %}
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
|
|
||||||
api:
|
api:
|
||||||
restart: always
|
restart: always
|
||||||
image: funkwhale/api:${FUNKWHALE_VERSION:-latest}
|
image: funkwhale/api:${FUNKWHALE_VERSION:-latest}
|
||||||
depends_on:
|
depends_on:
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
|
||||||
- redis
|
|
||||||
env_file: .env
|
env_file: .env
|
||||||
volumes:
|
volumes:
|
||||||
- "data:${MEDIA_ROOT}"
|
- "data:${MEDIA_ROOT}"
|
||||||
#- "${STATIC_ROOT}:${STATIC_ROOT}"
|
#- "${STATIC_ROOT}:${STATIC_ROOT}"
|
||||||
ports:
|
ports:
|
||||||
- "5000"
|
- "5000"
|
||||||
|
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
|
||||||
{% include 'templates/docker-container-networks.yml.j2' %}
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
|
|
||||||
front:
|
front:
|
||||||
@ -63,8 +56,6 @@ services:
|
|||||||
- "${FUNKWHALE_API_IP}:${FUNKWHALE_API_PORT}:80"
|
- "${FUNKWHALE_API_IP}:${FUNKWHALE_API_PORT}:80"
|
||||||
{% include 'templates/docker-container-networks.yml.j2' %}
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
|
|
||||||
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
|
||||||
|
|
||||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||||
data:
|
data:
|
||||||
redis:
|
redis:
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
||||||
|
|
||||||
application:
|
application:
|
||||||
logging:
|
logging:
|
||||||
driver: journald
|
driver: journald
|
||||||
@ -28,7 +31,7 @@ services:
|
|||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
{% include 'templates/docker-container-networks.yml.j2' %}
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
|
||||||
|
|
||||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||||
data:
|
data:
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
version: '3.6'
|
version: '3.6'
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-redis.yml.j2' %}
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
||||||
|
|
||||||
web:
|
web:
|
||||||
image: 'gitlab/gitlab-ee:latest'
|
image: 'gitlab/gitlab-ee:latest'
|
||||||
restart: always
|
restart: always
|
||||||
@ -32,16 +37,10 @@ services:
|
|||||||
- 'logs:/var/log/gitlab'
|
- 'logs:/var/log/gitlab'
|
||||||
- 'data:/var/opt/gitlab'
|
- 'data:/var/opt/gitlab'
|
||||||
shm_size: '256m'
|
shm_size: '256m'
|
||||||
depends_on:
|
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
|
||||||
{% if not enable_central_database %}
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
database:
|
|
||||||
condition: service_healthy
|
|
||||||
{% endif %}
|
|
||||||
redis:
|
|
||||||
|
|
||||||
{% include 'templates/docker-service-redis.yml.j2' %}
|
{% include 'templates/docker-compose-networks.yml.j2' %}
|
||||||
|
|
||||||
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
|
||||||
|
|
||||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||||
redis:
|
redis:
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
||||||
|
|
||||||
application:
|
application:
|
||||||
image: joomla
|
image: joomla
|
||||||
logging:
|
logging:
|
||||||
@ -11,17 +14,12 @@ services:
|
|||||||
JOOMLA_DB_PASSWORD: "{{database_password}}"
|
JOOMLA_DB_PASSWORD: "{{database_password}}"
|
||||||
JOOMLA_DB_NAME: "{{database_databasename}}"
|
JOOMLA_DB_NAME: "{{database_databasename}}"
|
||||||
restart: always
|
restart: always
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
|
||||||
volumes:
|
volumes:
|
||||||
- data:/var/www/html
|
- data:/var/www/html
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:{{http_port}}:80"
|
- "127.0.0.1:{{http_port}}:80"
|
||||||
{% include 'templates/docker-container-networks.yml.j2' %}
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
{% if enable_central_database %}
|
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
|
||||||
depends_on:
|
|
||||||
database:
|
|
||||||
|
|
||||||
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
|
||||||
|
|
||||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||||
data:
|
data:
|
||||||
|
@ -2,6 +2,8 @@ version: "3.7"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
||||||
|
|
||||||
application:
|
application:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
image: listmonk/listmonk:latest
|
image: listmonk/listmonk:latest
|
||||||
@ -12,8 +14,6 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ./config.toml:/listmonk/config.toml
|
- ./config.toml:/listmonk/config.toml
|
||||||
{% include 'templates/docker-container-networks.yml.j2' %}
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
|
||||||
|
|
||||||
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
|
||||||
|
|
||||||
{% include 'templates/docker-compose-networks.yml.j2' %}
|
{% include 'templates/docker-compose-networks.yml.j2' %}
|
@ -11,13 +11,9 @@ services:
|
|||||||
image: ghcr.io/mailu/unbound:{{version_mailu}}
|
image: ghcr.io/mailu/unbound:{{version_mailu}}
|
||||||
env_file: mailu.env
|
env_file: mailu.env
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
default:
|
default:
|
||||||
ipv4_address: 192.168.203.254
|
ipv4_address: 192.168.203.254
|
||||||
{{docker_compose_project_name}}_network:
|
|
||||||
{% if enable_central_database %}
|
|
||||||
central_{{ database_type }}_network:
|
|
||||||
{% endif %}
|
|
||||||
logging:
|
logging:
|
||||||
driver: journald
|
driver: journald
|
||||||
|
|
||||||
@ -39,13 +35,9 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- "/etc/mailu/overrides/nginx:/overrides:ro"
|
- "/etc/mailu/overrides/nginx:/overrides:ro"
|
||||||
- "/etc/mailu/certs:/certs"
|
- "/etc/mailu/certs:/certs"
|
||||||
depends_on:
|
{% include 'templates/docker-container-depends-on-also-database.yml.j2' %}
|
||||||
resolver:
|
resolver:
|
||||||
condition: service_started
|
condition: service_started
|
||||||
{% if not enable_central_database %}
|
|
||||||
database:
|
|
||||||
condition: service_healthy
|
|
||||||
{% endif %}
|
|
||||||
{% include 'templates/docker-container-networks.yml.j2' %}
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
default:
|
default:
|
||||||
webmail:
|
webmail:
|
||||||
@ -60,11 +52,9 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- "admin_data:/data"
|
- "admin_data:/data"
|
||||||
- "dkim:/dkim"
|
- "dkim:/dkim"
|
||||||
depends_on:
|
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
|
||||||
resolver:
|
resolver:
|
||||||
front:
|
front:
|
||||||
redis:
|
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
|
||||||
logging:
|
logging:
|
||||||
driver: journald
|
driver: journald
|
||||||
dns:
|
dns:
|
||||||
@ -202,7 +192,6 @@ services:
|
|||||||
{% include 'templates/docker-container-networks.yml.j2' %}
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
webmail:
|
webmail:
|
||||||
|
|
||||||
volumes:
|
|
||||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||||
smtp_queue:
|
smtp_queue:
|
||||||
admin_data:
|
admin_data:
|
||||||
|
@ -14,10 +14,7 @@ services:
|
|||||||
test: ['CMD-SHELL', 'wget -q --spider --proxy=off localhost:3000/health || exit 1']
|
test: ['CMD-SHELL', 'wget -q --spider --proxy=off localhost:3000/health || exit 1']
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:{{http_port}}:3000"
|
- "127.0.0.1:{{http_port}}:3000"
|
||||||
depends_on:
|
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
|
||||||
redis:
|
|
||||||
condition: service_healthy
|
|
||||||
volumes:
|
volumes:
|
||||||
- data:/mastodon/public/system
|
- data:/mastodon/public/system
|
||||||
logging:
|
logging:
|
||||||
@ -33,9 +30,7 @@ services:
|
|||||||
test: ['CMD-SHELL', 'wget -q --spider --proxy=off localhost:4000/api/v1/streaming/health || exit 1']
|
test: ['CMD-SHELL', 'wget -q --spider --proxy=off localhost:4000/api/v1/streaming/health || exit 1']
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:{{stream_port}}:4000"
|
- "127.0.0.1:{{stream_port}}:4000"
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
|
||||||
redis:
|
|
||||||
condition: service_healthy
|
|
||||||
logging:
|
logging:
|
||||||
driver: journald
|
driver: journald
|
||||||
{% include 'templates/docker-container-networks.yml.j2' %}
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
@ -45,10 +40,7 @@ services:
|
|||||||
restart: always
|
restart: always
|
||||||
env_file: .env.production
|
env_file: .env.production
|
||||||
command: bundle exec sidekiq
|
command: bundle exec sidekiq
|
||||||
depends_on:
|
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
|
||||||
redis:
|
|
||||||
condition: service_healthy
|
|
||||||
volumes:
|
volumes:
|
||||||
- data:/mastodon/public/system
|
- data:/mastodon/public/system
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
||||||
|
|
||||||
application:
|
application:
|
||||||
logging:
|
logging:
|
||||||
driver: journald
|
driver: journald
|
||||||
@ -16,12 +19,10 @@ services:
|
|||||||
MATOMO_DATABASE_DBNAME: "{{database_databasename}}"
|
MATOMO_DATABASE_DBNAME: "{{database_databasename}}"
|
||||||
volumes:
|
volumes:
|
||||||
- data:/var/www/html
|
- data:/var/www/html
|
||||||
{% if not enable_central_database %}
|
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
|
||||||
depends_on:
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
- database
|
|
||||||
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||||
data:
|
data:
|
||||||
|
|
||||||
|
{% include 'templates/docker-compose-networks.yml.j2' %}
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
version: '3.1'
|
version: '3.1'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
||||||
|
|
||||||
synapse:
|
synapse:
|
||||||
image: matrixdotorg/synapse:latest
|
image: matrixdotorg/synapse:latest
|
||||||
restart: always
|
restart: always
|
||||||
@ -16,11 +18,8 @@ services:
|
|||||||
- SYNAPSE_REPORT_STATS=no
|
- SYNAPSE_REPORT_STATS=no
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:{{synapse_http_port}}:8008"
|
- "127.0.0.1:{{synapse_http_port}}:8008"
|
||||||
{% if not enable_central_database %}
|
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
|
||||||
depends_on:
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
- database
|
|
||||||
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
element:
|
element:
|
||||||
image: vectorim/element-web:latest
|
image: vectorim/element-web:latest
|
||||||
@ -29,6 +28,7 @@ services:
|
|||||||
- ./element-config.json:/app/config.json
|
- ./element-config.json:/app/config.json
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:{{element_http_port}}:80"
|
- "127.0.0.1:{{element_http_port}}:80"
|
||||||
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
|
|
||||||
# bridges
|
# bridges
|
||||||
#mautrix-telegram:
|
#mautrix-telegram:
|
||||||
@ -64,4 +64,6 @@ services:
|
|||||||
#telegram_bridge_data:
|
#telegram_bridge_data:
|
||||||
#whatsapp_bridge_data:
|
#whatsapp_bridge_data:
|
||||||
#facebook_bridge_data:
|
#facebook_bridge_data:
|
||||||
#instagram_bridge_data:
|
#instagram_bridge_data:
|
||||||
|
|
||||||
|
{% include 'templates/docker-compose-networks.yml.j2' %}
|
@ -1,5 +1,8 @@
|
|||||||
version: '3.8'
|
version: '3.8'
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
||||||
|
|
||||||
application:
|
application:
|
||||||
logging:
|
logging:
|
||||||
driver: journald
|
driver: journald
|
||||||
@ -9,10 +12,9 @@ services:
|
|||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- data:/var/www/html
|
- data:/var/www/html
|
||||||
{% if not enable_central_database %}
|
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
|
||||||
depends_on:
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
- database
|
|
||||||
{% endif %}
|
|
||||||
server:
|
server:
|
||||||
logging:
|
logging:
|
||||||
driver: journald
|
driver: journald
|
||||||
@ -25,8 +27,9 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- "{{docker_compose_instance_confd_directory}}:{{target_mount_conf_d_directory}}:ro"
|
- "{{docker_compose_instance_confd_directory}}:{{target_mount_conf_d_directory}}:ro"
|
||||||
- "data:/var/www/html:ro"
|
- "data:/var/www/html:ro"
|
||||||
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
|
||||||
|
|
||||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||||
data:
|
data:
|
||||||
|
|
||||||
|
{% include 'templates/docker-compose-networks.yml.j2' %}
|
@ -1,6 +1,11 @@
|
|||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-redis.yml.j2' %}
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
||||||
|
|
||||||
application:
|
application:
|
||||||
image: "nextcloud:{{version_nextcloud}}-fpm-alpine"
|
image: "nextcloud:{{version_nextcloud}}-fpm-alpine"
|
||||||
restart: always
|
restart: always
|
||||||
@ -13,12 +18,8 @@ services:
|
|||||||
MYSQL_USER: "{{database_username}}"
|
MYSQL_USER: "{{database_username}}"
|
||||||
MYSQL_PASSWORD: "{{database_password}}"
|
MYSQL_PASSWORD: "{{database_password}}"
|
||||||
MYSQL_HOST: {{database_host}}:3306
|
MYSQL_HOST: {{database_host}}:3306
|
||||||
{% if not enable_central_database %}
|
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
|
||||||
depends_on:
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
- database
|
|
||||||
|
|
||||||
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
web:
|
web:
|
||||||
image: nginx:alpine
|
image: nginx:alpine
|
||||||
@ -27,14 +28,11 @@ services:
|
|||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:{{http_port}}:80"
|
- "127.0.0.1:{{http_port}}:80"
|
||||||
depends_on:
|
|
||||||
- application
|
|
||||||
volumes:
|
volumes:
|
||||||
- "{{path_docker_volumes}}nextcloud/nginx.conf:/etc/nginx/nginx.conf:ro"
|
- "{{path_docker_volumes}}nextcloud/nginx.conf:/etc/nginx/nginx.conf:ro"
|
||||||
volumes_from:
|
volumes_from:
|
||||||
- application
|
- application
|
||||||
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
{% include 'templates/docker-service-redis.yml.j2' %}
|
|
||||||
|
|
||||||
cron:
|
cron:
|
||||||
image: "nextcloud:{{version_nextcloud}}-fpm-alpine"
|
image: "nextcloud:{{version_nextcloud}}-fpm-alpine"
|
||||||
@ -44,9 +42,11 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- data:/var/www/html
|
- data:/var/www/html
|
||||||
entrypoint: /cron.sh
|
entrypoint: /cron.sh
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
|
||||||
redis:
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
|
|
||||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||||
data:
|
data:
|
||||||
redis:
|
redis:
|
||||||
|
|
||||||
|
{% include 'templates/docker-compose-networks.yml.j2' %}
|
||||||
|
@ -1,18 +1,8 @@
|
|||||||
version: "3.7"
|
version: "3.7"
|
||||||
|
|
||||||
networks:
|
|
||||||
frontend:
|
|
||||||
backend:
|
|
||||||
|
|
||||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
|
||||||
data:
|
|
||||||
|
|
||||||
x-op-restart-policy: &restart_policy
|
|
||||||
restart: unless-stopped
|
|
||||||
x-op-image: &image
|
|
||||||
image: openproject/community:${TAG:-13}
|
|
||||||
x-op-app: &app
|
x-op-app: &app
|
||||||
<<: [*image, *restart_policy]
|
restart: unless-stopped
|
||||||
|
image: openproject/community:${TAG:-13}
|
||||||
environment:
|
environment:
|
||||||
OPENPROJECT_HTTPS: "${OPENPROJECT_HTTPS}"
|
OPENPROJECT_HTTPS: "${OPENPROJECT_HTTPS}"
|
||||||
OPENPROJECT_HOST__NAME: "${OPENPROJECT_HOST__NAME}"
|
OPENPROJECT_HOST__NAME: "${OPENPROJECT_HOST__NAME}"
|
||||||
@ -27,24 +17,20 @@ x-op-app: &app
|
|||||||
IMAP_ENABLED: "${IMAP_ENABLED:-false}"
|
IMAP_ENABLED: "${IMAP_ENABLED:-false}"
|
||||||
volumes:
|
volumes:
|
||||||
- "data:/var/openproject/assets"
|
- "data:/var/openproject/assets"
|
||||||
{% if not enable_central_database %}
|
# - "database:/var/openproject/pgdata"
|
||||||
- "database:/var/openproject/pgdata"
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
||||||
networks:
|
|
||||||
- backend
|
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
image: memcached
|
image: memcached
|
||||||
<<: *restart_policy
|
restart: unless-stopped
|
||||||
networks:
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
- backend
|
|
||||||
|
|
||||||
proxy:
|
proxy:
|
||||||
<<: [*image, *restart_policy]
|
restart: unless-stopped
|
||||||
|
image: openproject/community:${TAG:-13}
|
||||||
command: "./docker/prod/proxy"
|
command: "./docker/prod/proxy"
|
||||||
ports:
|
ports:
|
||||||
- "${PORT}:80"
|
- "${PORT}:80"
|
||||||
@ -53,21 +39,16 @@ services:
|
|||||||
OPENPROJECT_RAILS__RELATIVE__URL__ROOT: "${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}"
|
OPENPROJECT_RAILS__RELATIVE__URL__ROOT: "${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}"
|
||||||
depends_on:
|
depends_on:
|
||||||
- web
|
- web
|
||||||
networks:
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
- frontend
|
|
||||||
volumes:
|
volumes:
|
||||||
- "data:/var/openproject/assets"
|
- "data:/var/openproject/assets"
|
||||||
{% if not enable_central_database %}
|
# - "database:/var/openproject/pgdata" Should definetly not be necessary here
|
||||||
- "database:/var/openproject/pgdata"
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
web:
|
web:
|
||||||
<<: *app
|
<<: *app
|
||||||
command: "./docker/prod/web"
|
command: "./docker/prod/web"
|
||||||
networks:
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
- frontend
|
{% include 'templates/docker-container-depends-on-also-database.yml.j2' %}
|
||||||
- backend
|
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
|
||||||
cache:
|
cache:
|
||||||
seeder:
|
seeder:
|
||||||
labels:
|
labels:
|
||||||
@ -91,18 +72,16 @@ services:
|
|||||||
worker:
|
worker:
|
||||||
<<: *app
|
<<: *app
|
||||||
command: "./docker/prod/worker"
|
command: "./docker/prod/worker"
|
||||||
networks:
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
- backend
|
{% include 'templates/docker-container-depends-on-also-database.yml.j2' %}
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
|
||||||
cache:
|
cache:
|
||||||
seeder:
|
seeder:
|
||||||
|
|
||||||
cron:
|
cron:
|
||||||
<<: *app
|
<<: *app
|
||||||
command: "./docker/prod/cron"
|
command: "./docker/prod/cron"
|
||||||
networks:
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
- backend
|
{% include 'templates/docker-container-depends-on-also-database.yml.j2' %}
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
|
||||||
cache:
|
cache:
|
||||||
seeder:
|
seeder:
|
||||||
|
|
||||||
@ -110,5 +89,9 @@ services:
|
|||||||
<<: *app
|
<<: *app
|
||||||
command: "./docker/prod/seeder"
|
command: "./docker/prod/seeder"
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
networks:
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
- backend
|
|
||||||
|
{% include 'templates/docker-compose-networks.yml.j2' %}
|
||||||
|
|
||||||
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||||
|
data:
|
@ -1,6 +1,11 @@
|
|||||||
version: "3.3"
|
version: "3.3"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-redis.yml.j2' %}
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
||||||
|
|
||||||
application:
|
application:
|
||||||
image: chocobozzz/peertube:production-bullseye
|
image: chocobozzz/peertube:production-bullseye
|
||||||
env_file:
|
env_file:
|
||||||
@ -13,21 +18,13 @@ services:
|
|||||||
- data:/data
|
- data:/data
|
||||||
- config:/config
|
- config:/config
|
||||||
restart: "always"
|
restart: "always"
|
||||||
depends_on:
|
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
|
||||||
- redis
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
{% if not enable_central_database %}
|
|
||||||
- database
|
|
||||||
|
|
||||||
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% include 'templates/docker-service-redis.yml.j2' %}
|
|
||||||
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
|
|
||||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||||
assets:
|
assets:
|
||||||
data:
|
data:
|
||||||
redis:
|
redis:
|
||||||
config:
|
config:
|
||||||
|
|
||||||
|
{% include 'templates/docker-compose-networks.yml.j2' %}
|
@ -14,13 +14,13 @@ services:
|
|||||||
env_file:
|
env_file:
|
||||||
- ./env
|
- ./env
|
||||||
volumes:
|
volumes:
|
||||||
- "application_data:/var/www/storage"
|
- "data:/var/www/storage"
|
||||||
- "bootstrap:/var/www/bootstrap"
|
- "bootstrap:/var/www/bootstrap"
|
||||||
- "./env:/var/www/.env"
|
- "./env:/var/www/.env"
|
||||||
ports:
|
ports:
|
||||||
- "{{http_port}}:80"
|
- "{{http_port}}:80"
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
|
||||||
redis:
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
worker:
|
worker:
|
||||||
image: zknt/pixelfed
|
image: zknt/pixelfed
|
||||||
restart: always
|
restart: always
|
||||||
@ -29,7 +29,7 @@ services:
|
|||||||
env_file:
|
env_file:
|
||||||
- ./env
|
- ./env
|
||||||
volumes:
|
volumes:
|
||||||
- "application_data:/var/www/storage"
|
- "data:/var/www/storage"
|
||||||
- "bootstrap:/var/www/bootstrap"
|
- "bootstrap:/var/www/bootstrap"
|
||||||
- "./env:/var/www/.env"
|
- "./env:/var/www/.env"
|
||||||
entrypoint: /worker-entrypoint.sh
|
entrypoint: /worker-entrypoint.sh
|
||||||
@ -38,11 +38,13 @@ services:
|
|||||||
interval: 60s
|
interval: 60s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 1
|
retries: 1
|
||||||
{% include 'templates/docker-container-depends-on.yml.j2' %}
|
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %}
|
||||||
redis:
|
|
||||||
application:
|
application:
|
||||||
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
|
|
||||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||||
redis:
|
redis:
|
||||||
application_data:
|
data:
|
||||||
bootstrap:
|
bootstrap:
|
||||||
|
|
||||||
|
{% include 'templates/docker-compose-networks.yml.j2' %}
|
@ -17,12 +17,10 @@ services:
|
|||||||
WORDPRESS_DB_NAME: "{{database_databasename}}"
|
WORDPRESS_DB_NAME: "{{database_databasename}}"
|
||||||
volumes:
|
volumes:
|
||||||
- data:/var/www/html
|
- data:/var/www/html
|
||||||
{% if not enable_central_database %}
|
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
|
||||||
depends_on:
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
- database
|
|
||||||
|
|
||||||
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
{% include 'templates/docker-compose-networks.yml.j2' %}
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
{% include 'templates/docker-compose-volumes.yml.j2' %}
|
||||||
data:
|
data:
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
||||||
|
|
||||||
application:
|
application:
|
||||||
logging:
|
logging:
|
||||||
driver: journald
|
driver: journald
|
||||||
@ -16,12 +19,8 @@ services:
|
|||||||
YOURLS_SITE: "https://{{domain}}"
|
YOURLS_SITE: "https://{{domain}}"
|
||||||
YOURLS_USER: "{{yourls_user}}"
|
YOURLS_USER: "{{yourls_user}}"
|
||||||
YOURLS_PASS: "{{yourls_user_password}}"
|
YOURLS_PASS: "{{yourls_user_password}}"
|
||||||
{% if not enable_central_database %}
|
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
|
||||||
depends_on:
|
{% include 'templates/docker-container-networks.yml.j2' %}
|
||||||
- database
|
|
||||||
|
|
||||||
{% include 'templates/docker-service-{{ database_type }}.yml.j2' %}
|
{% include 'templates/docker-compose-volumes-just-database.yml.j2' %}
|
||||||
|
{% include 'templates/docker-compose-networks.yml.j2' %}
|
||||||
volumes:
|
|
||||||
database:
|
|
||||||
{% endif %}
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
# This template needs to be included in docker-compose.yml
|
||||||
networks:
|
networks:
|
||||||
{% if enable_central_database %}
|
{% if enable_central_database %}
|
||||||
central_{{ database_type }}_network:
|
central_{{ database_type }}_network:
|
||||||
|
5
templates/docker-compose-volumes-just-database.yml.j2
Normal file
5
templates/docker-compose-volumes-just-database.yml.j2
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# This needs to be included in docker-compose.yml which just contain a database volume
|
||||||
|
{% if not enable_central_database %}
|
||||||
|
volumes:
|
||||||
|
database:
|
||||||
|
{% endif %}
|
@ -1,3 +1,4 @@
|
|||||||
|
# This template needs to be included in docker-compose.yml which contain a database and additional volumes
|
||||||
volumes:
|
volumes:
|
||||||
{% if not enable_central_database %}
|
{% if not enable_central_database %}
|
||||||
database:
|
database:
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
# This template needs to be included in docker-compose.yml containers which depend on a database and additional containers
|
||||||
|
depends_on:
|
||||||
|
{% if enable_central_database %}
|
||||||
|
database:
|
||||||
|
condition: service_healthy
|
||||||
|
{% endif %}
|
@ -0,0 +1,8 @@
|
|||||||
|
# This template needs to be included in docker-compose.yml contaienrs, which depend on a database, redis and optional additional volumes
|
||||||
|
depends_on:
|
||||||
|
{% if enable_central_database %}
|
||||||
|
database:
|
||||||
|
condition: service_healthy
|
||||||
|
{% endif %}
|
||||||
|
redis:
|
||||||
|
condition: service_healthy
|
@ -1,3 +1,4 @@
|
|||||||
|
# This template needs to be included in docker-compose.yml contaienrs, which just depend on a database
|
||||||
{% if enable_central_database %}
|
{% if enable_central_database %}
|
||||||
depends_on:
|
depends_on:
|
||||||
database:
|
database:
|
@ -1,3 +1,4 @@
|
|||||||
|
# This template needs to be included in docker-compose.yml containers
|
||||||
networks:
|
networks:
|
||||||
- {{docker_compose_project_name}}_network
|
- {{docker_compose_project_name}}_network
|
||||||
{% if enable_central_database %}
|
{% if enable_central_database %}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
# This template needs to be included in docker-compose.yml, which depend on a mariadb database
|
||||||
{% if not enable_central_database %}
|
{% if not enable_central_database %}
|
||||||
database:
|
database:
|
||||||
logging:
|
logging:
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
# This template needs to be included in docker-compose.yml, which depend on a postgres database
|
||||||
{% if not enable_central_database %}
|
{% if not enable_central_database %}
|
||||||
database:
|
database:
|
||||||
image: postgres:{{database_version}}-alpine
|
image: postgres:{{database_version}}-alpine
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
# This template needs to be included in docker-compose.yml, which depend on redis
|
||||||
redis:
|
redis:
|
||||||
image: redis:alpine
|
image: redis:alpine
|
||||||
restart: always
|
restart: always
|
||||||
|
Loading…
Reference in New Issue
Block a user