💾 Archived View for wilw.capsule.town › notes › monica.gmi captured on 2024-05-10 at 11:03:27. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-04-19)
-=-=-=-=-=-=-
I use a self-hosted Monica [1] instance to keep on top of birthdays and other useful/interesting notes about friends and family.
This note documents my setup.
Create a `docker-compose.yml` file:
version: "3.4" services: monica: image: monica:latest depends_on: - monicadb environment: - APP_KEY=CHANGEME - DB_HOST=monicadb - APP_ENV=nonprod # See note below - APP_URL=http://CHANGEME - APP_TRUSTED_PROXIES=* - MAIL_DRIVER=smtp - MAIL_HOST=CHANGEME - MAIL_PORT=587 - MAIL_USERNAME=CHANGEME - MAIL_PASSWORD=CHANGEME - MAIL_ENCRYPTION=tls - MAIL_FROM_ADDRESS=CHANGEME - MAIL_FROM_NAME=Monica volumes: - ./monica_data:/var/www/html/storage restart: always ports: - 8082:80 monicadb: image: mysql:5.7 environment: - MYSQL_RANDOM_ROOT_PASSWORD=true - MYSQL_DATABASE=monica - MYSQL_USER=homestead - MYSQL_PASSWORD=CHANGEME volumes: - ./mysql:/var/lib/mysql restart: always
When running with `APP_ENV=production`, Monica enforces HTTPS connections. I run Monica in my Tailscale network without TLS certificates, and so I run Monica in `nonprod` (which I made up) mode to allow this to work.
As far as I can tell, everything still seems to work OK.
If you run Monica behind a reverse-proxy for which you can configure TLS certficates, you can leave this as `production`.
Bring the service up and navigate to the address you gave it to get started.