130 lines
3.5 KiB
YAML
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
|