Will's avatar

⬅️ See more posts

Using Monica to Help Manage your Personal Relationships

7 February 2021 (5 minute read)

🔮 This post is also available via Gemini.

100daystooffload technology life selfhost

💯 100 Days to Offload

This article is one of a series of posts I have written for the 100 Days to Offload challenge. Disclaimer: The challenge focuses on writing frequency rather than quality, and so posts may not always be fully planned out!

View other posts in this series.

Many people no longer feel comfortable using Facebook. Whether you were never a member to begin with or you’ve had an account but chosen to remove yourself from the service, or you’ve simply tried to start using it less - either way, it’s no surprise given the way that they, across their family of products (including Instagram and WhatsApp), operate in terms of your own data and time.

This is a huge subject on its own and it’s really up for everyone to make their own minds up when it comes to their own stance. It’s been widely discussed pretty much everywhere, and there are loads of resources available on this handy website if you’re interested in understanding more about what goes on behind the scenes on these platforms.

Staying in the loop

Anyway this isn’t another post about Facebook, but one of the things that is useful about that particular platform is its birthday reminder system in which you automatically receive an email from Facebook if it happens to be one of your friend’s birthdays that day. In itself, this is of course simply a mechanism to try and get you to re-engage with the platform - such as to send your friend a direct message on Messenger or to post something on their timeline.

However, it is nice to get messages on your birthday, and nice to imagine that someone you only speak to a couple of times a year has the headspace to remember that today is your special day. Even though you both know that it’s because Facebook has sent a reminder with an easy CTA.

The good news is that there are still lots of services that help you remember key events without needing to rely on Facebook. Of course you can set-up calendars (many mail providers have in-built calendar facilities that can sync to your client with CalDAV), but you may want to remember other things too - such as anniversaries, friends’ pets’ names, that time you helped your cousin move house, and more. Quickly all of this info ends up distributed between a number of systems and becomes hard to look-up and manage (unless you’re super organised).

Monica: the “Personal Relationship Manager”

What we need is a personal CRM (“customer relationship manager”), which can do all of this for us. And thankfully such systems exist - such as Monica.

Monica is the single best investment you can make to have better relationships. - monicahq.com.

Monica is a piece of open-source software that can handle all of this for you as a “Personal Relationship Manager” (in their words) - and much more. You can sign-up on their website and pay a small ongoing subscription fee to cover the server costs. Alternatively, you can easily self-host it on your own server.

The Monica dashboard homepage

I’ve been using it (the self-hosted option) for some time now, and love its features. I get automatic email notifications in-time to remind me about key events, I can keep track of the birthdays of my friends’ kids, remember gifts I have been given, friend life events, jobs, and more.

Although I still want to spend some further time setting it up and adding more details about the people I know, it already helps me to include richer information when I message friends and family and to remember the things I really should be anyway.

Monica looks great, works fine on my phone web browser as well as my desktop browser, and also has an API that allows you to build your own workflows or to connect it to other services.

If you find yourself forgetting birthdays and important information about friends and family, or if you just want to log relationships more effectively, then I certainly recommend giving it a go.

How to self-host Monica

I host Monica on a relatively small VPS. It’s lightweight and it happily runs alongside a few other services.

I usually prefer using Docker to host things like this as it helps keep things isolated when running multiple services on the same machine. I have an Nginx container (with several virtual hosts) that proxies requests through to the appropriate services.

The Monica Team kindly maintain an official Docker image. I went for the Apache version (as I already have Nginx in-place for TLS, etc.) for which there is an example Docker Compose config available on the official Monica image page. The documentation also explains how to get your first user setup.

One of the main advantages of Monica is its ability to keep you updated without you needing to login and check-up on things. It does this by sending you emails, and for this to work you’ll need to add a bit of extra configuration to your Docker Compose file, as described on this page. Just add the extra variables to your environment section in docker-compose.yml. The article mentions Amazon SES, however you can use your own mail provider’s SMTP/IMAP server settings here (e.g. Mailgun).

If you plan to use Linode to host your Monica service (which is a great choice), you may just need to open up a quick support ticket with them so that they can make sure your account is allowed to send traffic on standard email ports (e.g. 25 and 587), which they sometimes restrict on new accounts to help fight spam.


If you want to contribute to this great open-source project, then there are guides available on GitHub.

✉️ You can reply to this post via email.

📲 Subscribe to updates

If you would like to read more posts like this, then you can subscribe via RSS.