Files
fet2020/docker-compose.yml
2025-12-16 15:02:14 +01:00

130 lines
3.5 KiB
YAML

name: fet-homepage
services:
nginx:
container_name: nginx-container
image: django-nginx-image:latest
ports:
- "80:80"
depends_on:
- django-homepage
volumes:
- ./fet2020/files:/usr/src/app/files
- ./gallery:/usr/src/app/files/uploads/gallery
- ./assets:/usr/src/app/assets:ro
networks:
- fet-network
django-homepage:
container_name: django-container
image: django-image:latest
environment:
HOST_NAME: ${HOSTNAME}
DEBUG: ${DEBUG}
LDAP: ${LDAP}
SECRET_KEY: ${SECRET_KEY}
MYSQL_USER: ${DJANGO_MYSQL_USER}
MYSQL_PASSWORD: ${DJANGO_MYSQL_PASSWORD}
ETHERPAD_GROUP: ${ETHERPAD_GROUP}
EMAIL_HOST_USER: ${EMAIL_HOST_USER}
EMAIL_HOST_PASSWORD: ${EMAIL_HOST_PASSWORD}
depends_on:
mysql:
condition: service_healthy
etherpad:
condition: service_healthy
volumes:
- ./fet2020:/usr/src/app
- ./gallery:/usr/src/app/files/uploads/gallery:shared
- ./fet2020/files:/usr/src/app/files
- ./assets:/usr/src/app/assets:ro
networks:
- fet-network
- django-db-network
restart: unless-stopped
healthcheck:
test: "python3 manage.py check --database default"
timeout: 20s
retries: 20
etherpad:
container_name: etherpad-container
image: etherpad/etherpad:2.5.2
# ports:
# - 9001:9001
environment:
DB_TYPE: mysql
DB_HOST: etherpadsql
DB_PORT: 3306
DB_NAME: etherpaddb
DB_USER: ${ETHERPAD_DB_USER}
DB_PASS: ${ETHERPAD_DB_PASSWORD}
DB_CHARSET: "utf8mb4"
TRUST_PROXY: false
AUTHENTICATION_METHOD: "apikey"
depends_on:
etherpadsql:
condition: "service_healthy"
volumes:
- ./fet2020/etherpad/APIKEY.txt:/opt/etherpad-lite/APIKEY.txt
networks:
- fet-network
- etherpad-db-network
restart: unless-stopped
healthcheck:
test: "curl --fail localhost:9001 >/dev/null "
timeout: 10s
interval: 15s
retries: 30
mysql:
container_name: django-db-container
image: mariadb:10.7
environment:
MYSQL_DATABASE: fet2020db
MYSQL_USER: ${DJANGO_MYSQL_USER}
MYSQL_PASSWORD: ${DJANGO_MYSQL_PASSWORD}
MYSQL_COLLATION: utf8_general_ci
MYSQL_CHARSET: utf8
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
volumes:
- ./inits/django:/docker-entrypoint-initdb.d/
- ./databases/django:/var/lib/mysql:Z
networks:
- django-db-network
healthcheck:
test: "mysqladmin ping -h localhost && echo 'show tables;' | mysql 'fet2020db' >/dev/null "
timeout: 20s
retries: 20
etherpadsql:
container_name: etherpad-db-container
image: mariadb:10.7
environment:
MYSQL_DATABASE: etherpaddb
MYSQL_USER: ${ETHERPAD_DB_USER}
MYSQL_PASSWORD: ${ETHERPAD_DB_PASSWORD}
MYSQL_COLLATION: utf8_general_ci
MYSQL_CHARSET: utf8
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
volumes:
- ./init/etherpad:/docker-entrypoint-initdb.d/
- ./databases/etherpad:/var/lib/mysql:Z
networks:
- etherpad-db-network
healthcheck:
test: "mysqladmin ping -h localhost && echo 'show tables;' | mysql --port 3306 --protocol tcp 'etherpaddb' > /dev/null"
timeout: 20s
retries: 20
volumes:
mysql-volume:
driver: local
etherpad-mysql-volume:
driver: local
files-volume:
driver: local
name: django-files-volume
networks:
fet-network:
driver: bridge
django-db-network:
driver: bridge
etherpad-db-network:
driver: bridge