pse-podcast-synchronisation/docker-compose.yml

105 lines
3 KiB
YAML
Raw Normal View History

2024-06-19 00:14:49 +02:00
##################################################################################################################
# Please put any variable changes for the environment or build arguments into the .env file of the source folder #
##################################################################################################################
version: '3.9'
services:
maria_db:
image: "mariadb:10.4.28"
restart: always
networks:
- backend
environment:
MARIADB_DATABASE: demo
MARIADB_USER: pse
MARIADB_PASSWORD: PSEsq1702!mdb
MARIADB_RANDOM_ROOT_PASSWORD: yes
volumes:
- database:/var/lib/mysql
healthcheck:
test: "/usr/bin/mysql --user=$${MARIADB_USER} --password=$${MARIADB_PASSWORD} --execute \"SHOW DATABASES;\""
interval: 5s
pse-backend:
restart: always
hostname: pse-backend
network_mode: "bridge"
build:
context: ./pse-server
dockerfile: Dockerfile
args:
SERVER_TIMEZONE: ${SERVER_TIMEZONE}
networks:
- backend
environment:
EMAIL_DASHBOARD_BASE_URL: http://${FRONTEND_DOMAIN}
EMAIL_VERIFICATION_URL: http://${BACKEND_DOMAIN}/api/2/auth/%s/verify.json
EMAIL_RESET_URL_PATH: /resetPassword
SPRING_MAIL_HOST: ${SPRING_MAIL_HOST}
SPRING_MAIL_PORT: ${SPRING_MAIL_PORT}
SPRING_MAIL_USERNAME: ${SPRING_MAIL_USERNAME}
SPRING_MAIL_PASSWORD: ${SPRING_MAIL_PASSWORD}
depends_on:
maria_db:
condition: service_healthy
links:
- maria_db:maria_db
pse-frontend:
restart: always
build:
context: ./pse-dashboard
dockerfile: Dockerfile
args:
VITE_BACKEND_URL: //${BACKEND_DOMAIN}
networks:
- frontend
reverse-proxy:
restart: always
environment:
NGINX_ENVSUBST_TEMPLATE_SUFFIX: ".tmpl"
FRONTEND_DOMAIN: ${FRONTEND_DOMAIN}
BACKEND_DOMAIN: ${BACKEND_DOMAIN}
build:
context: ./reverse-proxy
dockerfile: Dockerfile
networks:
- frontend
- backend
depends_on:
- pse-backend
- pse-frontend
# Uncomment volumes when using SSL (location of certificates)
volumes:
- ./reverse-proxy/letsencrypt:/letsencrypt
- ./reverse-proxy/letsencrypt/certs:/etc/letsencrypt
ports:
- 80:80
# Uncomment port when using SSL
- 443:443
######################################################################################
# Uncomment following text to create / renew SSL certificates for Front- and Backend #
######################################################################################
#
# certbot:
# image: certbot/certbot
# container_name: certbot
# volumes:
# - ./reverse-proxy/letsencrypt:/letsencrypt
# - ./reverse-proxy/letsencrypt/certs:/etc/letsencrypt
# command: certonly --webroot -w /letsencrypt -d ${FRONTEND_DOMAIN} -d ${BACKEND_DOMAIN} --email ${SPRING_MAIL_USERNAME} --agree-tos
# depends_on:
# - reverse-proxy
networks:
frontend:
backend:
volumes:
database: