48 lines
No EOL
1.5 KiB
YAML
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: |