[{"data":1,"prerenderedAt":188},["ShallowReactive",2],{"seo-verification":3,"blog-self-host-monica-personal-crm-on-a-vps-ma-en":6,"promo-bar-likely":187},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-self-host-monica-personal-crm-on-a-vps-ma-en",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":127,"ctaBody":128,"ctaButton":129,"ctaUrl":130,"relatedPosts":131},197,"self-host-monica-personal-crm-on-a-vps",{"fr":12,"en":10,"ar":13,"es":14},"self-host-monica-crm-vps","استضافة-monica-crm-على-خادم-افتراضي","autoalojar-monica-crm-en-un-vps","Self-host Monica personal CRM on a VPS","Deploy Monica CRM on your VPS to track contacts, interactions and reminders with Docker Compose, MariaDB and Redis — on infrastructure you own and control.",9,0,false,"2026-07-30T00:00:00+00:00","2026-11-09T20:55:12+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-monica-crm-vps-poster.svg",{"categorySlug":34,"appSlug":35},"erp-business-management","monica-crm","Your professional network is one of your most valuable assets. But most people manage it in a way that leaks data to third parties — Google Contacts synced to the cloud, CRM SaaS subscriptions that own your relationship history, spreadsheets that miss the human context. Monica CRM fixes all three: an open-source personal relationship manager you deploy on your own VPS in under five minutes, with everything stored on hardware you control.",[38,42,45,76,79,104,112,115,118,123],{"type":39,"title":40,"body":41},"h2","The problem: your contacts are scattered and leaking","Think about where your contact data actually lives. Your phone syncs to iCloud or Google. Your email provider knows every name in your inbox. Your CRM subscription logs every note to a SaaS database in a jurisdiction you don't control. And none of these tools answer the most human question: when did you last talk to this person, and about what?\n\nMonica CRM was built to answer exactly that. It is not a sales tool: no deal pipeline, no lead scoring, no revenue forecast. It is a personal relationship manager — a private journal of the people who matter, running on a server you own.",{"type":39,"title":43,"body":44},"What Monica CRM does — and doesn't do","Monica organises your relationships the way a thoughtful person would. Every contact gets a dedicated page with:\n\n- **A full interaction log** — every note, call, email and meeting you recorded, in chronological order.\n- **Smart reminders** — birthdays, anniversaries, custom reminder dates, recurring check-in prompts.\n- **Personal context** — relationship type (friend, colleague, mentor), occupation, company, social accounts, custom fields you define.\n- **Life events** — engagements, births, job changes, health events; the milestones that give a relationship depth.\n- **Gift ideas** — a list per contact, and a record of what you actually gave.\n\nWhat Monica does not do: it does not track deals or revenue, does not score leads, and does not offer a shared team calendar. For a business CRM, Twenty — also in the ServOrbit marketplace — is a better fit. Monica handles the human layer.",{"type":46,"title":47,"headers":48,"rows":53},"comparison","Monica CRM vs open-source alternatives",[5,49,50,51,52],"Monica CRM","HumHub Contacts","Twenty CRM","Duet",[54,60,64,70],[55,56,57,58,59],"Data managed","Personal and professional relationships: notes, reminders, life events, gift ideas","Internal social network: profiles, groups, collaborative workspace","Sales CRM: contacts, deals, pipelines, custom objects","Minimalist personal contacts: cards, tags, notes — no team features",[61,62,62,62,63],"Licence","AGPL-3.0","MIT",[65,66,67,68,69],"Server requirements","2 vCPU \u002F 4 GB RAM — PHP, MariaDB, Redis","4 vCPU \u002F 8 GB RAM — PHP, MariaDB, Elasticsearch recommended","4 vCPU \u002F 8 GB RAM — Node.js, PostgreSQL, Redis","1 vCPU \u002F 1 GB RAM — SQLite, single Go binary",[71,72,73,74,75],"Primary use case","Personal network tracking, human reminders, GDPR-compliant contact data storage","Company intranet and social network, knowledge sharing","Customer relationship management, sales automation, GraphQL API for integrations","Lightweight address book, solo use only",{"type":39,"title":77,"body":78},"Architecture: PHP\u002FLaravel, MariaDB, Redis — three containers, one VPS","The ServOrbit marketplace recipe deploys Monica as three Docker containers:\n\n1. **`monicahq\u002Fmonicahq:apache`** — the PHP\u002FLaravel application with an embedded Apache web server, exposed on port 8080 of the host.\n2. **`mariadb:11`** — the relational database storing all contacts, interactions and reminders.\n3. **`redis:7-alpine`** — the in-memory cache for sessions and queued jobs.\n\nMariaDB is the only officially supported database for Monica v4. The application runs its migrations automatically on first startup — no separate step required, and the first account created becomes the administrator.\n\nMemory footprint at rest: under 600 MB, leaving headroom for the OS and Docker on the VPS Solo (4 GB).",{"type":80,"title":81,"steps":82},"steps","Deploy Monica CRM on ServOrbit: step by step",[83,86,89,92,95,98,101],{"title":84,"body":85},"Order a VPS running Ubuntu 24.04","The VPS Solo (2 vCPU, 4 GB) is sufficient. Monica's PHP process uses under 256 MB RAM; MariaDB adds 150–300 MB. The 4 GB allocation leaves headroom even for a large contact list (10 k+) or a small team. Choose Ubuntu 24.04 LTS — it is the target OS for the deployment playbook.",{"title":87,"body":88},"Deploy from the ServOrbit marketplace","Open your ServOrbit control panel, navigate to Marketplace → ERP & Business Management → Monica CRM, and click Deploy. The playbook automatically generates a `docker-compose.yml` with the essential environment variables:\n\n```\nMONICA_APP_KEY=base64:\u003Cgenerated-key>\nDB_HOST=db\nDB_DATABASE=monica\nDB_USERNAME=monica\nDB_PASSWORD=\u003Cgenerated-password>\nCACHE_DRIVER=redis\nSESSION_DRIVER=redis\nQUEUE_CONNECTION=redis\nREDIS_HOST=redis\n```\n\nIt pulls all three images, starts the stack and waits for the healthcheck. The interface is ready in under a minute.",{"title":90,"body":91},"Create your administrator account immediately","Open `http:\u002F\u002F\u003Cyour-vps-ip>:8080` in a browser and sign up. The first account created automatically receives administrator rights. Do this as soon as the interface is accessible — registration stays open to anyone until an administrator restricts it in Settings → Administration.",{"title":93,"body":94},"Import your existing contacts","Go to Settings → Import and upload a vCard (‎.vcf) file exported from your phone, Google Contacts, Apple Contacts or Outlook. Monica deduplicates on email address and maps fields automatically. CSV import with column mapping is also supported. For Google Contacts, choose vCard 3.0 format on export.",{"title":96,"body":97},"Configure SMTP to receive reminders by email","Without SMTP, reminders are only visible in the dashboard. To receive them in your inbox, add these variables to your instance's environment file (editable from the control panel or via SSH):\n\n```\nMAIL_MAILER=smtp\nMAIL_HOST=smtp.your-relay.com\nMAIL_PORT=587\nMAIL_USERNAME=your@email.com\nMAIL_PASSWORD=your-password\nMAIL_ENCRYPTION=tls\nMAIL_FROM_ADDRESS=monica@your-domain.com\nMAIL_FROM_NAME=\"Monica CRM\"\n```\n\nCompatible relays: AWS SES, Mailgun, Brevo, Postmark. Restart the container after updating (`docker compose restart app`).",{"title":99,"body":100},"Set your first reminders","Open a contact card, click Add a reminder and pick a date — one-time or recurring (weekly, monthly, annual). Write a short note: \"call to catch up\", \"send a birthday card\". Monica surfaces due reminders on the dashboard every day and, if SMTP is configured, also sends them to your inbox.",{"title":102,"body":103},"Schedule MariaDB backups","The MariaDB database is Monica's only persistent state. Two approaches:\n\n**Via Backrest** (recommended): the ServOrbit marketplace includes Backrest — a web-based restic manager — which can back up Monica's Docker volume to Backblaze B2, Wasabi or S3 on a schedule, with deduplication and encryption.\n\n**Manual dump**: run from the host:\n`docker exec monica-db mysqldump -u monica -p\u003Cpassword> monica > monica-$(date +%F).sql`\n\nAlso back up the `.env` file and the `monica_storage` volume (imported avatars and attachments).",{"type":105,"title":106,"items":107},"ul","Who benefits from Monica on a VPS",[108,109,110,111],"**Freelancers and consultants** who track every client interaction and need to remember what was discussed six months later — without paying a CRM subscription.","**Founders and networkers** managing investors, advisors, partners and candidates — the full orbit of relationships a startup runs on.","**Professionals in GDPR-sensitive industries** (legal, medical, finance) who cannot store client information with a foreign provider.","**Anyone who wants to be a better friend** — Monica's birthday reminders, life event tracking and gift idea lists make the difference between the person who remembers and the one who forgets.",{"type":39,"title":113,"body":114},"Privacy and data ownership","Monica is AGPL-3.0. There is no telemetry, no call home, no analytics service embedded in the self-hosted version. Your contact list, your interaction history and your personal notes stay on the MariaDB instance running on your VPS.\n\nRegular backups are the responsibility of the operator. The ServOrbit marketplace includes Backrest — a web-based restic manager — which can back up Monica's MariaDB volume to Backblaze B2, Wasabi or S3 on a schedule, with deduplication and encryption.\n\nTo enable email sending, set `MAIL_MAILER=smtp` in the environment and point Monica at a transactional relay (AWS SES, Mailgun, Brevo). Monica will then deliver reminders and password reset links to your inbox. Without SMTP, both functions remain accessible from the dashboard — they are simply not pushed to your mailbox.",{"type":39,"title":116,"body":117},"Troubleshooting: the most common errors","**Error 1: database migration fails on first startup**\n\nMessage seen in logs (`docker compose logs app`):\n```\nIlluminate\\Database\\QueryException: SQLSTATE[HY000] [2002] Connection refused\n```\nCause: the `app` container started before MariaDB was ready to accept connections. Fix: add a `depends_on` condition with `service_healthy` in your `docker-compose.yml`, or wait 20–30 seconds and restart just the app container: `docker compose restart app`. Monica will replay migrations automatically.\n\n**Error 2: email reminders are not sent**\n\nMessage seen in Monica's dashboard (Settings → Logs) or in the worker logs:\n```\nSwift_TransportException: Connection could not be established with host smtp.example.com [Connection refused #111]\n```\nCause: `MAIL_MAILER` not set or SMTP relay unreachable from the container. Check that the VPS firewall allows outbound port 587 (`ufw allow out 587`), and that `MAIL_HOST`, `MAIL_PORT`, `MAIL_USERNAME` and `MAIL_PASSWORD` are all present in the environment. After correcting, restart the worker: `docker compose restart worker`.\n\n**Error 3: session expires in a loop after installation**\n\nSymptom: Monica redirects to the login page on every action, even after a successful login.\nCause: `APP_KEY` missing or invalid — the AES-256 key that encrypts session cookies. It must be in the form `base64:\u003C44-character-string>`. If it is empty or incorrectly generated, sessions cannot be decrypted.\nFix: generate a valid key from inside the app container and update the environment:\n```\ndocker compose exec app php artisan key:generate --show\n```\nCopy the returned value into `APP_KEY` in your `.env`, then restart the full stack: `docker compose down && docker compose up -d`.",{"type":80,"title":119,"steps":120},"Logging in for the first time",[121],{"title":119,"body":122},"Open the URL and create your account through the sign-up form: this first account becomes the administrator of the instance. Do this immediately — registration stays open until an admin closes it.",{"type":124,"title":125,"body":126},"tip","Updating Monica to a new version","Monica follows a regular release cycle on the `monicahq\u002Fmonicahq` Docker image. To update: pull the new image, stop the stack, restart — migrations run automatically on startup.\n\n```\ndocker compose pull\ndocker compose down\ndocker compose up -d\ndocker compose logs -f app\n```\n\nConfirm that `Database is up to date` or `Migrated successfully` appears in the logs before using the application. When in doubt, take a MariaDB dump before updating.","Your relationships, your server","Deploy Monica CRM on a ServOrbit VPS and keep every contact, interaction and reminder on infrastructure you own — no subscription, no cloud dependency.","Deploy Monica CRM","\u002Fapplications\u002Ferp-business-management\u002Fmonica-crm",[132,151,170],{"id":133,"slug":134,"slugs":135,"title":139,"excerpt":140,"readTime":141,"views":142,"isPinned":19,"noindex":19,"publishedAt":143,"updatedAt":144,"category":145,"categories":146,"featuredImage":30,"bgImage":31,"posterImage":148,"relatedSolution":149},134,"self-host-twenty-crm-on-vps-open-source-salesforce-alternative",{"fr":136,"en":134,"ar":137,"es":138},"self-host-twenty-crm-vps","استضف-twenty-crm-بنفسك-على-vps-بديل-salesforce-مفتوح-المصدر","alojar-twenty-crm-en-un-vps","Self-Host Twenty CRM on VPS: Open Source Salesforce Alternative","Deploy Twenty CRM on a ServOrbit VPS — open-source Salesforce alternative with custom objects, GraphQL API and automation worker. AGPL-3.0, production-ready since v2.1.0.",4,3,"2026-02-13T00:00:00+00:00","2026-11-04T16:30:26+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[147],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fself-host-twenty-crm-vps-poster.svg",{"categorySlug":34,"appSlug":150},"twenty",{"id":152,"slug":153,"slugs":154,"title":158,"excerpt":159,"readTime":160,"views":161,"isPinned":19,"noindex":19,"publishedAt":162,"updatedAt":144,"category":163,"categories":164,"featuredImage":30,"bgImage":31,"posterImage":166,"relatedSolution":167},183,"self-host-memos-on-a-vps-lightweight-notes-and-team-journal",{"fr":155,"en":153,"ar":156,"es":157},"self-host-memos-vps","استضافة-memos-على-vps-ملاحظات-شخصية-وسجل-للفريق","alojar-memos-en-un-vps","Self-Host Memos on a VPS: Lightweight Notes and Team Journal","Deploy Memos on your VPS: privacy-first open-source note-taking with Markdown, tags, full-text search and REST API. 20 MB image, under 128 MB RAM, SQLite.",5,1,"2026-07-18T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[165],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fself-host-memos-vps-poster.svg",{"categorySlug":168,"appSlug":169},"collaboration-productivity","memos",{"id":171,"slug":172,"slugs":173,"title":177,"excerpt":178,"readTime":179,"views":161,"isPinned":19,"noindex":19,"publishedAt":180,"updatedAt":144,"category":181,"categories":182,"featuredImage":30,"bgImage":31,"posterImage":184,"relatedSolution":185},185,"self-host-chatwoot-on-a-vps-open-source-omnichannel-support",{"fr":174,"en":172,"ar":175,"es":176},"self-host-chatwoot-vps","استضافة-chatwoot-على-vps-دعم-عملاء-متعدد-القنوات","alojar-chatwoot-en-un-vps-soporte-omnicanal","Self-Host Chatwoot on a VPS: Open-Source Omnichannel Support","Deploy Chatwoot on your VPS: live chat, email, WhatsApp, Telegram and Twitter\u002FX in one shared inbox. MIT licence, v4.17.1, no per-agent fees.",12,"2026-07-19T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[183],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fself-host-chatwoot-vps-poster.svg",{"categorySlug":168,"appSlug":186},"chatwoot",true,1794270491846]