monica #13

Merged
kevinheyer merged 4 commits from monica into main 2025-03-29 15:24:56 +00:00
3 changed files with 65 additions and 0 deletions

9
monica/.env-example Normal file
View file

@ -0,0 +1,9 @@
# Monica
MONICA_VERSION=4.1.2
MONICA_APPKEY= # generate with echo -n 'base64:'; openssl rand -base64 32
MONICA_DOMAIN=monica.example.com
# MySQL
MONICA_MYSQL_VERSION=11
MONICA_MYSQL_USER=monica_user
MONICA_MYSQL_PASSWORD=securepassword123

0
monica/README.md Normal file
View file

56
monica/docker-compose.yml Normal file
View file

@ -0,0 +1,56 @@
---
services:
app:
image: monica:${MONICA_VERSION:-latest}
container_name: monica
restart: always
networks:
- traefik
- monica
environment:
- APP_KEY=${MONICA_APPKEY:?error}
- APP_URL=https://${MONICA_DOMAIN:?error}
- APP_TRUSTED_PROXIES=*
- 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
networks:
traefik:
external: true
monica:
driver: bridge
volumes:
data:
db: