ente/infra/services/listmonk
2024-04-05 16:51:08 +05:30
..
initialize-db.sh Tweaks 2024-04-04 21:27:47 +05:30
listmonk.nginx.conf Tweaks 2024-04-04 21:27:47 +05:30
listmonk.service [infra] Fix the listmonk upgrade invocation 2024-04-05 16:51:08 +05:30
README.md Tweaks 2024-04-04 21:27:47 +05:30

Listmonk

We use Listmonk to manage our mailing lists.

  • Museum lets Listmonk know about new users and account deletion (this allows Listmonk to create corresponding accounts).

  • Subsequently, Listmonk handles user subscription / unsubscription etc (Listmonk stores its data in an external Postgres).

Installing

Install nginx.

Add Listmonk's configuration.

sudo mkdir -p /root/listmonk
sudo tee /root/listmonk/config.toml

Add the service definition and nginx configuration.

scp services/listmonk/listmonk.* <instance>:

sudo mv listmonk.service /etc/systemd/system/
sudo mv listmonk.nginx.conf /root/nginx/conf.d

The very first time we ran Listmonk, at this point we also needed to get it to install the tables it needs in the Postgres DB. For this, we used the initialize-db.sh script.

scp services/listmonk/initialize-db.sh <instance>:

sudo sh initialize-db.sh
rm initialize-db.sh

Tell systemd to pick up new service definitions, enable the unit (so that it automatically starts on boot), and start it this time around.

sudo systemctl daemon-reload
sudo systemctl enable --now listmonk

Tell nginx to pick up the new configuration.

sudo systemctl reload nginx