72 lines
2.9 KiB
YAML
72 lines
2.9 KiB
YAML
# Stack for Mindboost Webapp
|
|
|
|
services:
|
|
prod-mariadb:
|
|
image: mariadb:latest
|
|
container_name: prod-mariadb
|
|
hostname: mariadb
|
|
command: --bind-address=0.0.0.0
|
|
env_file:
|
|
- ../config/.env.db
|
|
networks:
|
|
- ${BACKEND_NETWORK}
|
|
volumes:
|
|
- ../volumes/daten/mariadb:/var/lib/mysql
|
|
prod-redis:
|
|
image: redis:alpine
|
|
container_name: prod-redis
|
|
hostname: redis
|
|
networks:
|
|
- ${BACKEND_NETWORK}
|
|
restart: unless-stopped
|
|
command: redis-server --appendonly yes --requirepass laravel-redis-passwort # Redis Passwort eingeben
|
|
volumes:
|
|
- ../volumes/daten/redis:/data
|
|
prod-frontend:
|
|
build:
|
|
context: ./frontend/src
|
|
dockerfile: Dockerfile
|
|
container_name: prod-frontend
|
|
networks:
|
|
- ${BACKEND_NETWORK}
|
|
- ${TRAEFIK_NETWORK}
|
|
env_file:
|
|
- ../config/.env.frontend
|
|
- ../config/.env.traefik
|
|
labels:
|
|
- "traefik.enable=${TRAEFIK_ENABLE}"
|
|
- "traefik.http.routers.prod-frontend.entrypoints=${TRAEFIK_ROUTER_FRONTEND_ENTRYPOINT}"
|
|
- "traefik.http.routers.prod-frontend.rule=${TRAEFIK_ROUTER_FRONTEND_RULE}"
|
|
- "traefik.http.routers.prod-frontend.tls=${TRAEFIK_ROUTER_FRONTEND_TLS}"
|
|
- "traefik.http.routers.prod-frontend.tls.certresolver=${TRAEFIK_ROUTER_FRONTEND_CERTRESOLVER}"
|
|
- "traefik.http.routers.prod-frontend.tls.domains[0].main=${TRAEFIK_ROUTER_FRONTEND_TLS_DOMAIN_MAIN}"
|
|
- "traefik.http.routers.prod-frontend.tls.domains[0].sans=${TRAEFIK_ROUTER_FRONTEND_TLS_DOMAIN_SANS}"
|
|
- "traefik.http.services.prod-frontend.loadbalancer.server.port=${TRAEFIK_SERVICE_FRONTEND_PORT}"
|
|
- "traefik.docker.network=${TRAEFIK_NETWORK}"
|
|
prod-backend:
|
|
build:
|
|
context: ./backend/src
|
|
dockerfile: Dockerfile
|
|
env_file:
|
|
- ../config/.env.backend
|
|
- ../config/.env.traefik
|
|
labels:
|
|
- "traefik.enable=${TRAEFIK_ENABLE}"
|
|
- "traefik.http.routers.prod-backend.entrypoints=${TRAEFIK_ROUTER_BACKEND_ENTRYPOINT}"
|
|
- "traefik.http.routers.prod-backend.rule=${TRAEFIK_ROUTER_BACKEND_RULE}"
|
|
- "traefik.http.routers.prod-backend.tls=${TRAEFIK_ROUTER_BACKEND_TLS}"
|
|
- "traefik.http.routers.prod-backend.tls.certresolver=${TRAEFIK_ROUTER_BACKEND_CERTRESOLVER}"
|
|
- "traefik.http.routers.prod-backend.tls.domains[0].main=${TRAEFIK_ROUTER_BACKEND_TLS_DOMAIN_MAIN}"
|
|
- "traefik.http.services.prod-backend.loadbalancer.server.port=${TRAEFIK_SERVICE_BACKEND_PORT}"
|
|
- "traefik.docker.network=${TRAEFIK_NETWORK}"
|
|
networks:
|
|
- ${BACKEND_NETWORK}
|
|
- ${TRAEFIK_NETWORK}
|
|
depends_on:
|
|
- prod-mariadb
|
|
networks:
|
|
prod-backend:
|
|
external: false
|
|
proxy:
|
|
external: true
|