################################################################################################################## # 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: