← All articles
Konica minolta logo on a dark surface

Monica: The Self-Hosted Personal CRM for Your Relationships

Productivity 2026-03-04 · 4 min read monica crm contacts relationships self-hosted docker personal productivity open-source
By Selfhosted Guides Editorial TeamSelf-hosting practitioners covering open source software, home lab infrastructure, and data sovereignty.

Professional CRM tools help salespeople manage customer relationships. But maintaining personal relationships — tracking a distant friend's kids' names, remembering when someone mentioned a job change, following up with someone you met at a conference — is essentially the same problem at a smaller scale.

Photo by Luke Madziwa on Unsplash

Monica is a self-hosted personal CRM. It stores context about the people in your life, logs your interactions, tracks important dates, and sends reminders. Not for sales — for being a thoughtful person.

What Monica Tracks

Contacts:

Interactions:

Notes:

Reminders:

Why Keep a Personal CRM

People who maintain personal CRMs often describe it the same way: it's not about replacing genuine connection, it's about not letting connection fail because you forgot to follow up.

Without any system:

Monica externalizes the memory work so you can focus on the relationship itself. When a friend mentions they're moving, you log it. Three months later, Monica reminds you to check in on how the move went.

Docker Deployment

Monica requires MySQL or MariaDB:

services:
  monica-db:
    image: mariadb:11
    container_name: monica-db
    restart: unless-stopped
    environment:
      MARIADB_ROOT_PASSWORD: rootpassword
      MARIADB_DATABASE: monica
      MARIADB_USER: monica
      MARIADB_PASSWORD: monicapassword
    volumes:
      - monica-db:/var/lib/mysql

  monica:
    image: monica:4
    container_name: monica
    restart: unless-stopped
    depends_on:
      - monica-db
    ports:
      - "8084:80"
    volumes:
      - monica-storage:/var/www/html/storage
    environment:
      APP_KEY: base64:your-32-char-random-key-here
      APP_URL: https://monica.yourdomain.com
      DB_CONNECTION: mysql
      DB_HOST: monica-db
      DB_PORT: 3306
      DB_DATABASE: monica
      DB_USERNAME: monica
      DB_PASSWORD: monicapassword
      MAIL_MAILER: smtp
      MAIL_HOST: smtp.example.com
      MAIL_PORT: 587
      MAIL_USERNAME: [email protected]
      MAIL_PASSWORD: your-password
      MAIL_FROM_ADDRESS: [email protected]
      MAIL_FROM_NAME: Monica

volumes:
  monica-db:
  monica-storage:

Generate APP_KEY with: docker run --rm monica:4 php artisan key:generate --show

Navigate to http://your-server:8084 and create your account.

Like what you're reading? Subscribe to Self-Hosted Weekly — free weekly guides in your inbox.

First Use

After creating an account:

  1. Add contacts: Start with people you actually want to maintain connections with — not everyone in your phone book. Quality over quantity.

  2. Log recent interactions: Think back over the past month and log conversations you remember. This seeds the system.

  3. Set birthday reminders: Add birthdays for people whose birthdays you want to remember. Monica sends email reminders.

  4. Add notes to existing contacts: "We met at [conference] in 2023", "Interested in woodworking", "Has a startup working on [X]"

The Contact Page

Each contact has a rich page with:

The relationship map shows mutual connections — if Contact A introduced you to Contact B, Monica shows that relationship graph.

Reminder System

Reminders are the most practical feature. Monica can send:

Automatic date reminders: Birthdays, anniversaries — configured per contact.

One-time reminders: "Call her about the book in 2 weeks" — you set the date.

Contact frequency nudges: If you set a contact as "close friend" and haven't logged an interaction in 3 months, Monica flags it.

Reminders arrive via email (SMTP configuration required) or via the app dashboard.

Import from Google Contacts

Monica can import contacts from a Google Contacts (VCF/CSV) export:

  1. Go to contacts.google.com → Export → Google CSV
  2. In Monica: Settings → Import → choose file
  3. Monica creates contacts with names, emails, and phone numbers

You'll still need to manually add notes and relationship context — that's the value you bring, not what Monica can import automatically.

Multi-User Support

Monica supports multiple user accounts sharing a Monica instance. Family members or close collaborators can use the same instance with their own separate contact databases.

This is different from contact sharing — each user's contacts and notes are private. Multi-user just means one Monica server serves multiple people.

Monica vs. Twenty (Open-Source Salesforce Alternative)

Monica and Twenty target different use cases:

Monica Twenty
Focus Personal relationships Business CRM
Pipeline tracking No Yes
Deals/opportunities No Yes
Team features Basic multi-user Full collaboration
Contact depth Rich personal context Business-oriented
Complexity Simple Complex

For personal relationship management, Monica's design is more appropriate. Twenty is the right choice if you're building a business CRM workflow.

Privacy Considerations

Self-hosting Monica means your relationship data stays entirely under your control. Unlike a cloud service, there's no data sharing with third parties, no ads, and no risk of the service being shut down.

For people who value privacy around relationship data — knowing who you talk to, what you discuss — self-hosting is the appropriate choice.

Monica's repository is at monicahq/monica with active development. The commercial cloud version is at monicahq.com if you want hosted access.

Get free weekly tips in your inbox. Subscribe to Self-Hosted Weekly