CRM for the personal life https://fbuchner.github.io/meerkat-crm/
  • Go 57.7%
  • TypeScript 40.8%
  • HTML 0.8%
  • Dockerfile 0.4%
  • Makefile 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Frederic Buchner 845ceef478
Merge pull request #223 from ymage/fix/vcard-reimport-deleted-contact
fix(import): restore soft-deleted contacts on vCard re-import
2026-08-24 22:36:35 +02:00
.github Advertise proper image tag 2026-08-08 20:07:35 +02:00
backend Merge pull request #223 from ymage/fix/vcard-reimport-deleted-contact 2026-08-24 22:36:35 +02:00
docker Fix cache headers 2026-08-08 20:05:19 +02:00
docs docs(backend): fix env var name for server port in dev guide 2026-08-16 00:06:32 +02:00
frontend feat(import): show explicit restore prompt for deleted contacts 2026-08-17 14:03:39 +02:00
.dockerignore Remove unnecessary assets from docker image 2026-08-08 20:04:11 +02:00
.env.example Add monica private url env 2026-08-13 21:13:50 +02:00
.gitignore Fix port collision, further simplify docker handling 2026-07-08 10:34:19 +02:00
docker-compose.build.legacy.yml Fix docker health check (issue on some systems) 2026-07-14 19:34:54 +02:00
docker-compose.carddav-test.yml test harness for carddav manual testing 2026-08-08 17:37:49 +02:00
docker-compose.legacy.yml Fix docker health check (issue on some systems) 2026-07-14 19:34:54 +02:00
docker-compose.test.yml Fix docker health check (issue on some systems) 2026-07-14 19:34:54 +02:00
docker-compose.yml Fix docker health check (issue on some systems) 2026-07-14 19:34:54 +02:00
Dockerfile Update dockerfile node version 2026-08-12 21:32:21 +02:00
LICENSE Create LICENSE 2024-10-06 21:36:00 +02:00
README-developer.md Update docs 2026-08-08 17:33:30 +02:00
README.md Update Readme with recent changes 2026-08-12 23:17:18 +02:00

Meerkat CRM - a simple CRM for the personal life

Meerkat CRM Logo

License: MIT Backend: Go Frontend: React

About the project

Meerkat CRM (Contact Relationship Management) is a self-hosted solution to keep track of your important contacts. As your digital rolodex it reminds you of birthdays, helps you to keep in mind dietary habits as well as names of spouses of contacts - and much more.

You can find the detailed documentation here: fbuchner.github.io/meerkat-crm/

Tip

Click here to try the Demo! (user: demo, password: test_12345)

Demo instance will be started on demand, expect some seconds delay. Demo data is reset periodically. Photo upload is disabled.

Meerkat CRM Demo

Features

  • Contact management
    • add and search contacts
    • group contacts by circles (e.g. friends, family, work)
    • store relationships of contacts (e.g. spouses, children)
    • CardDAV server for two-way synchronization with your phone's contact list and CardDAV client to use with your own external server
    • Network graph to visualize your contacts and relationships
  • Notes and activities
    • social network style timeline for contacts
    • notes assigned to individual contacts
    • activities with one or multiple contacts
    • general notes (for e.g. journaling)
  • Reminders
    • Keep in touch through reminders and get e-mail notifications (via SMTP or resend)
    • See upcoming birthdays
  • Integrations
    • Import data (from CSV, VCF and Monica), export data to CSV and VCF
    • Connect external calendars
    • Webhooks to integrate with your own systems
    • SSO
  • Usability
    • Multiple languages (currently EN, DE, IT, ES, FR)
    • Light and dark mode

Installation

Meerkat CRM ships as a single all-in-one image (ghcr.io/fbuchner/meerkat-crm) that bundles the frontend and backend into one container. The easiest way to run it is with Docker Compose:

  1. Download the Docker Compose file:

    curl -O https://raw.githubusercontent.com/fbuchner/meerkat-crm/main/docker-compose.yml
    curl -O https://raw.githubusercontent.com/fbuchner/meerkat-crm/main/.env.example
    
  2. Configure environment:

    # Copy the environment template
    cp .env.example .env
    
    # Edit with your settings
    nano .env
    
  3. Start the container:

    docker compose up -d
    
  4. Access the application: Open http://localhost:7300 in your browser.

Prefer to skip Compose? You can run the image directly.

docker run -d --name meerkat --restart unless-stopped \
  -p 7300:8080 \
  -e JWT_SECRET_KEY='<paste a secret here, changing it will invalidate logins>' \
  -v "$(pwd)/data:/app/data" \
  -v "$(pwd)/photos:/app/static/photos" \
  ghcr.io/fbuchner/meerkat-crm:latest

All other settings are optional, see .env.example for e-mail notifications, CardDAV, and SSO. Pass them with additional -e flags, or use --env-file .env.

Contributing

Bugs and feature requests

This application is under development. You can open an issue to report a bug or request a new feature.

You can also participate and open up a pull request.

While AI-assistants can be used to support coding, please note that you are ultimately responsible for code quality. Do not open pull requests for hands-off "vibe-coding" developments, rather stick to feature requests in these cases.

Development

To set up this repository for development, follow these steps:

  1. Clone the repository:

    git clone https://github.com/fbuchner/meerkat-crm.git
    cd meerkat-crm
    
  2. Run the backend: Ensure you have Go installed. Then, set up your environment configuration:

     cd backend
     # Copy the example environment file and configure it with your settings
     cp .env.example .env
    
     # Install dependencies and run
     go mod tidy
     source .env
     go run main.go
    

    The project uses an SQLite database for storage. Database migrations run automatically on startup.

  3. Run the frontend (in a second terminal):

    cd frontend
    
    yarn install
    yarn start
    

You can find a more comprehensive overview for developers in the developer README.

Alternative software

Notable other personal CRM systems are

  • MonicaHQ (Open Source, development seems to have stalled; the new version chandler is available at beta.monicahq.com)
  • Dex (paid offering with social media integration)
  • Clay (paid offering with focus on automation)

Other software that can be used to build or configure something similar includes

  • Twenty (Open Source "classic" CRM system)