CRM for the personal life https://fbuchner.github.io/meerkat-crm/
  • Go 57.8%
  • TypeScript 40.5%
  • HTML 0.7%
  • Shell 0.4%
  • Dockerfile 0.3%
  • Other 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Frederic Buchner 2df5d9c19c
Merge pull request #277 from fbuchner/chore/update-deps
chore(deps): update dependencies incl. MUI 9, TS 6, Vitest 5, i18next 26
2026-10-26 23:40:10 +01:00
.claude feat(i18n): add Simplified Chinese (zh) locale 2026-10-26 22:27:17 +01:00
.github fix(i18n): list zh in remaining language allowlists 2026-10-26 22:30:09 +01:00
backend Merge origin/main into chore/update-deps 2026-10-26 23:15:24 +01:00
docker Fix cache headers 2026-08-08 20:05:19 +02:00
docs docs: fix typo 2026-08-29 23:06:51 +02:00
frontend Merge origin/main into chore/update-deps 2026-10-26 23:15:24 +01: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
Makefile build: drop the Docker-free E2E stack, keep the Makefile 2026-10-24 22:55:41 +02:00
README-developer.md feat(i18n): add Simplified Chinese (zh) locale 2026-10-26 22:27:17 +01:00
README.md docs: align the contributing AI policy with the tooling this repo now uses 2026-10-18 22:20:49 +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.

AI assistants are welcome — this repository uses Claude Code itself, and some pull requests here are opened by maintainer-run automation. The standard is the same either way: you are responsible for the quality of what you submit, and you should understand it well enough to explain it in review. Please don't open hands-off "vibe-coded" pull requests you haven't read and tested — in those cases a feature request is far more useful than a patch nobody can vouch for.

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)