Installing Listmonk on NixOS Latest

Listmonk is an open source, self-hosted newsletter and mailing list manager. In this tutorial, we will guide you through the steps to install Listmonk on NixOS Latest.

Prerequisites

Before starting the installation process, make sure you have the following prerequisites:

  • Access to a NixOS Latest server or instance
  • sudo or root user access to the server or instance
  • Basic knowledge of the Linux command line

Installation Steps

  1. Update system packages

Update your system's package manager and installed packages by running the following command:

sudo nix-channel --update && sudo nixos-rebuild switch
  1. Install necessary dependencies

Listmonk requires Go and Node.js to run. Install them by running the following commands:

sudo nix-env -iA nixpkgs.go
sudo nix-env -iA nixpkgs.nodejs-14_x
  1. Clone the Listmonk repository

Clone the Listmonk repository from GitHub by running the following command:

git clone https://github.com/knadh/listmonk.git
  1. Build the frontend

Change to the Listmonk directory by running the following command:

cd listmonk

Build the frontend by running the following command:

npm install && npm run build && npm prune --production
  1. Configure Listmonk

Copy the sample configuration file by running the following command:

cp .env.sample .env

Edit the .env file to include your desired configuration settings:

LISTMONK_BASE_URL=http://localhost:8080
BCRYPT_COST=14
SQL_DSN=postgres://user:password@localhost/listmonk?sslmode=disable
...

Note: LISTMONK_BASE_URL should be set to the URL of your Listmonk installation.

  1. Build and start Listmonk

Build and start Listmonk by running the following command:

make build && ./listmonk
  1. Access Listmonk

Once the server is running, access Listmonk in your browser at:

http://YOUR_SERVER_IP:8080/

Conclusion

Congratulations! You have successfully installed Listmonk on NixOS Latest. You can now use Listmonk to manage your mailing lists and send newsletters.