Meerkat CRM - a simple CRM for the personal life
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: meerkatcrm.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.
Features
- Contact management
- Notes and activities
- Reminders
- Integrations
- Usability
Installation
Docker (Recommended)
Meerkat CRM ships as a single all-in-one image (ghcr.io/meerkatcrm/meerkat-crm)
that bundles the frontend and backend into one container. The easiest way to run
it is with Docker Compose:
- Download the Docker Compose file:
curl -O https://raw.githubusercontent.com/meerkatcrm/meerkat-crm/main/docker-compose.yml
curl -O https://raw.githubusercontent.com/meerkatcrm/meerkat-crm/main/.env.example
- Configure environment:
# Copy the environment template
cp .env.example .env
# Edit with your settings
nano .env
- Start the container:
docker compose up -d
- Access the application:
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/meerkatcrm/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:- Clone the repository:
git clone https://github.com/meerkatcrm/meerkat-crm.git
cd meerkat-crm
- Run the backend:
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.
- 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)
- Twenty (Open Source "classic" CRM system)