1.9 KiB
1.9 KiB
MischLabs Monica Deployment
This repository now acts as the MischLabs deployment repository for Monica CRM. The NAS runs the official Docker image directly instead of building and pushing a custom image through Gitea.
Repository and Image
- Gitea repository:
https://git.mischlabs.de/MrDiderot/CRM.git - Runtime image:
monica:4-apache - NAS path:
/volume2/docker/mischcrm - Default NAS port:
38090:80 - Public URL:
https://crm.mischlabs.de
Architecture
The NAS pulls Monica directly from Docker Hub. This avoids Cloudflare upload limits for large Docker layers and keeps the setup simple.
mischcrm: Monica Apache web containermischcrm_cron: Monica scheduler container usingcron.shmischcrm_db: MariaDB 11
Persistent Docker volumes:
mischcrm_monica_storage: Monica storage, OAuth keys, uploads, logsmischcrm_monica_db: MariaDB data
First Start on NAS
cd /volume2/docker/mischcrm
cp .env.mischlabs.example .env
Generate secrets:
openssl rand -base64 32
openssl rand -hex 32
Edit .env:
APP_KEYmust bebase64:<openssl rand -base64 32 output>DB_PASSWORDmust be the long random hex passwordAPP_URLmust behttps://crm.mischlabs.de
Then start:
docker compose pull
docker compose up -d
Check:
docker ps --filter "name=mischcrm" --format "table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}"
docker logs mischcrm --tail=120
Updates
Watchtower updates monica:4-apache directly from Docker Hub.
Manual update:
cd /volume2/docker/mischcrm
git pull --ff-only
docker compose pull
docker compose up -d
Important
Do not commit .env.
Do not delete Docker volumes unless you explicitly want to remove Monica data.
If Monica redirects incorrectly behind Cloudflare, check:
APP_URLAPP_TRUSTED_PROXIES=*- Cloudflare tunnel target port
38090