=> 🏡 Home | Back to notes
I use a self-hosted Monica [1] instance to keep on top of birthdays and other useful/interesting notes about friends and family.
=> 1
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
APP_ENV
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.
text/gemini;lang=en-GB
This content has been proxied by September (ba2dc).