MCPSERV.CLUB
Monica

Monica

Self-Hosted

Your personal relationship manager

Active(75)
23.5kstars
0views
Updated Aug 30, 2025

Overview

Discover what makes Monica powerful

Monica is a self‑hosted Personal Relationship Management (PRM) system written in **PHP 8.1+** and powered by the **Laravel** framework. It exposes a RESTful API that mirrors its rich web interface, enabling developers to build custom integrations or mobile clients. At runtime it serves a single‑page application (SPA) built with **Vue.js 3** and **Tailwind CSS**, while server‑side rendering is handled by Laravel’s Blade templating engine for SEO and progressive enhancement. The data layer relies on **MySQL 8+** (or MariaDB) and leverages Eloquent ORM for complex relationships such as contacts, activities, reminders, and custom fields.

Backend

Frontend

Database

Background Jobs

Overview

Monica is a self‑hosted Personal Relationship Management (PRM) system written in PHP 8.1+ and powered by the Laravel framework. It exposes a RESTful API that mirrors its rich web interface, enabling developers to build custom integrations or mobile clients. At runtime it serves a single‑page application (SPA) built with Vue.js 3 and Tailwind CSS, while server‑side rendering is handled by Laravel’s Blade templating engine for SEO and progressive enhancement. The data layer relies on MySQL 8+ (or MariaDB) and leverages Eloquent ORM for complex relationships such as contacts, activities, reminders, and custom fields.

Architecture

  • Backend – Laravel 10.x with service‑container binding, event broadcasting (Pusher or Redis), and queue workers for scheduled reminders. All core logic is encapsulated in domain‑driven services, making it straightforward to replace or extend components.
  • Frontend – Vue 3 with Composition API, Vue Router, and Pinia for state management. The SPA consumes the Laravel API via Axios; authentication is handled by Sanctum, providing token‑based access for third‑party apps.
  • Database – MySQL/MariaDB with a normalized schema. The migration files are versioned, and the project ships with seeders for demo data.
  • Background Jobs – Queue workers (Laravel Horizon) process email reminders, notifications, and scheduled tasks. The system can also be configured to use RabbitMQ or Amazon SQS for horizontal scaling.
  • Containerization – A ready‑to‑use Docker Compose file defines services for the web app, MySQL, Redis, and a mail driver. The Docker image is maintained on Docker Hub (library/monica) and can be pulled directly for CI/CD pipelines.

Core Capabilities

  • Contact Management – CRUD operations, tagging, custom field types, and multi‑user vaults.
  • Activity & Task Tracking – Create, update, and schedule activities; assign tasks to contacts with due dates.
  • Reminders & Notifications – Automatic birthday reminders, custom event alerts, and email/SMS integrations via Laravel notifications.
  • Diary & Journal – Structured entries with attachments, searchable tags, and per‑day summaries.
  • API & Webhooks – Exposes endpoints for all CRUD actions, supports OAuth2 scopes via Laravel Passport, and emits webhooks on key events (e.g., contact.created).
  • Extensibility – A plugin architecture allows developers to add new modules; community plugins exist for calendar sync, CRM export, and custom report generation.

Deployment & Infrastructure

Monica is designed for self‑hosting on Linux servers, Docker Swarm, or Kubernetes. The Docker Compose stack can be scaled by adding more web replicas and a shared database cluster (e.g., Galera). For production, it is recommended to run behind an Nginx reverse proxy with HTTPS termination and a Redis cache for session storage. The application supports environment‑based configuration (.env), making it easy to swap database drivers, mail services, and queue backends without code changes.

Integration & Extensibility

  • Plugin System – Developers can create packages that hook into Laravel’s service provider system, adding routes, views, and database migrations.
  • API Clients – Official SDKs exist for PHP, JavaScript, and Python; otherwise the REST API follows standard CRUD conventions with JSON payloads.
  • Webhooks – Configurable to post to external services (e.g., Zapier, IFTTT) whenever a contact or activity changes.
  • Custom Fields & Labels – The schema allows dynamic field types, so developers can expose new data points without altering the core migration.

Developer Experience

The project is well‑documented on docs.monicahq.com, covering API reference, contribution guidelines, and deployment tutorials. Code quality is maintained with automated linting, unit tests (≈80% coverage), and SonarCloud analysis. The community is active on GitHub issues, Discord, and a dedicated Slack channel, providing quick feedback loops for feature requests or bug reports. Licensing under MIT ensures no restrictions on commercial use.

Use Cases

  • Personal CRM SaaS – A developer can fork Monica, add custom branding and feature sets, and offer a self‑hosted CRM to small businesses or individuals.
  • Family Relationship Tracker – Build a mobile app that syncs with Monica’s API to provide push notifications for birthdays and anniversaries.
  • Integration Layer – Use the webhook system to feed data into a larger ERP or marketing automation platform.
  • Research Tool – The open schema and export capabilities make it suitable for sociological studies on personal networks.

Advantages

  • Full Control – Self‑hosting guarantees data privacy and compliance with GDPR or HIPAA when configured correctly.
  • Open Source Flexibility – MIT license and modular architecture let developers add or replace features without vendor lock‑in.
  • Performance – Laravel’s caching, Eloquent eager loading, and Redis queues keep response times low even with thousands of contacts.
  • Community & Support – Active contributors and extensive documentation lower the barrier to entry for new developers.
  • Cost‑Effective – No subscription fees; only infrastructure costs are required, making it attractive for hobbyists and small enterprises alike.

Open SourceReady to get started?

Join the community and start self-hosting Monica today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
other
License
AGPL-3.0
Stars
23.5k
Technical Specs
Pricing
Open Source
Database
MySQL
Docker
Official
Min RAM
1GB
Min Storage
5GB
Supported OS
LinuxDocker
Author
monicahq
monicahq
Last Updated
Aug 30, 2025