Files
Super-HomeworkManager/docker-compose.yml

65 lines
1.4 KiB
YAML

services:
app:
build: .
container_name: homework-manager
volumes:
- ./config.ini:/app/config.ini:ro
environment:
- TZ=Asia/Tokyo
restart: unless-stopped
networks:
- internal
expose:
- "8080"
depends_on:
db:
condition: service_healthy
db:
image: mysql:8.0
container_name: homework-db
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-rootpassword}
MYSQL_DATABASE: ${MYSQL_DATABASE:-homework_manager}
MYSQL_USER: ${MYSQL_USER:-homework}
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-homework_password}
TZ: Asia/Tokyo
volumes:
- db-data:/var/lib/mysql
networks:
- internal
restart: unless-stopped
healthcheck:
test: [ "CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${MYSQL_ROOT_PASSWORD:-rootpassword}" ]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
caddy:
image: caddy:2-alpine
container_name: homework-caddy
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy-data:/data
- caddy-config:/config
environment:
- TZ=Asia/Tokyo
restart: unless-stopped
networks:
- internal
depends_on:
- app
networks:
internal:
driver: bridge
volumes:
db-data:
caddy-data:
caddy-config: