mytube-backend/docker/docker-compose.yml
2025-10-31 17:09:19 +01:00

52 lines
1.2 KiB
YAML

networks:
mytube:
external: true
services:
mytube-backend-mysql:
image: mytube-backend-mysql
networks:
- mytube
build:
context: ./../
dockerfile: ./docker/mysql/dockerfile
volumes:
- ./../var/db:/var/lib/mysql:z
environment:
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASSWORD}
ports:
- 3306:3306
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
timeout: 20s
retries: 10
mytube-backend-app:
image: mytube-backend-app
networks:
- mytube
build:
context: ./../
dockerfile: ./docker/php/dockerfile
volumes:
- ./../:/var/www/html:z
ports:
- 9000:9000
depends_on:
mytube-backend-mysql:
condition: service_healthy
mytube-backend-nginx:
image: mytube-backend-nginx
networks:
- mytube
build:
context: ./../
dockerfile: ./docker/nginx/dockerfile
labels:
- "traefik.http.routers.backend.rule=(Host(`mytube.srv`) || Host(`192.168.152.60`)) && PathPrefix(`/api`)"
- "traefik.http.routers.backend.entrypoints=websecure"
- "traefik.http.routers.backend.tls.certresolver=le"
depends_on:
- mytube-backend-app