docker-compose-collection/monica/docker-compose.yml
2025-03-29 15:02:09 +00:00

48 lines
No EOL
1.5 KiB
YAML

---
services:
app:
image: monica:${MONICA_VERSION:-latest}
container_name: monica
restart: always
networks:
- traefik
- monica
environment:
- APP_KEY=${MONICA_APPKEY:?error}
- DB_HOST=db
- DB_USERNAME=${MONICA_MYSQL_USER:?error}
- DB_PASSWORD=${MONICA_MYSQL_PASSWORD:?error}
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.http.routers.monica.entrypoints=http"
- "traefik.http.routers.monica.rule=Host(`${MONICA_DOMAIN:?error}`)"
- "traefik.http.middlewares.monica-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.monica.middlewares=monica-https-redirect"
- "traefik.http.routers.monica-secure.entrypoints=https"
- "traefik.http.routers.monica-secure.rule=Host(`${MONICA_DOMAIN:?error}`)"
- "traefik.http.routers.monica-secure.tls=true"
- "traefik.http.routers.monica-secure.service=monica"
- "traefik.http.services.monica.loadbalancer.server.port=80"
volumes:
- data:/var/www/html/storage
depends_on:
- db
db:
image: mariadb:${MONICA_MYSQL_VERSION:-11}
container_name: monica-db
restart: always
networks:
- monica
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=true
- MYSQL_DATABASE=monica
- MYSQL_USER=${MONICA_MYSQL_USER:?error}
- MYSQL_PASSWORD=${MONICA_MYSQL_PASSWORD:?error}
volumes:
- db:/var/lib/mysql
volumes:
data:
db: