Self-host Monica
CRMMonica is a personal CRM (a PRM, not a business CRM) for tracking relationships with family, friends, and other personal contacts — reminders for birthdays and calls, gift ideas, and a private journal of interactions. It self-hosts via the official Docker image with a MariaDB backend.
Key facts
Monica is a personal CRM (a PRM) for keeping track of relationships with family and friends — birthdays, conversations, gifts — not a business sales tool. It's a fine fit if that's genuinely what you're after; it is not a Salesforce or HubSpot alternative for running a sales pipeline, and shouldn't be treated as one.
What you need
- Any VPS with at least 1024 MB of RAM
- A domain you control — most self-hosted setups need HTTPS in front of them
- Under an hour if you've used Docker before
Install with Docker Compose
Save this as compose.yml and run docker compose up -d:
# Monica — official monica:apache image + MariaDB
services:
app:
image: monica:apache
depends_on:
- db
ports:
- "8080:80"
environment:
- APP_ENV=production
- DB_HOST=db
- DB_DATABASE=monica
- DB_USERNAME=monica
- DB_PASSWORD=secret
volumes:
- data:/var/www/html/storage
restart: always
db:
image: mariadb:11
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=true
- MYSQL_DATABASE=monica
- MYSQL_USER=monica
- MYSQL_PASSWORD=secret
volumes:
- db-data:/var/lib/mysql
restart: always
volumes:
data:
db-data:
# docker compose up -d → http://SERVER_IP:8080What you take on
Monica's biggest risk isn't a resource number, it's the project's own pace — worth weighing carefully before you rely on it: