Install Mailtrain on Uberspace 7
This tutorial explains how to install Mailtrain on a Uberspace 7. Mailtrain is a self-hosted open-source (released under the GPL v3.0.) newsletter app built on top of Nodemailer. I am following the manual installation guide from the official Mailtrain repo and add some additional Uberspace infos. I contributed this guide to the Uberlab and earned my first Ubercup.
Installation
This guide uses Node.js version 12, which is the default on Uberspace 7 at at the moment.
Clone the GitHub repository:
[isabell@stardust ~]$ git clone git://github.com/Mailtrain-org/mailtrain.git
[isabell@stardust ~]$
Install the required dependencies:
[isabell@stardust ~]$ cd mailtrain
[isabell@stardust mailtrain]$ npm install --production
[isabell@stardust mailtrain]$
Configuration
Database Setup
Create a new database:
[isabell@stardust mailtrain]$ mysql -e "CREATE DATABASE ${USER}_mailtrain;"
[isabell@stardust mailtrain]$
Mailtrain Config
Copy the example config file:
[isabell@stardust mailtrain]$ cp config/default.toml config/production.toml
[isabell@stardust mailtrain]$
Update production.toml with your MySQL settings; look for the
[mysql] block:
...
[mysql]
host="localhost"
user="isabell"
password="MySuperSecretPassword"
database="isabell_mailtrain"
...
Web Backend Config
Mailtrain is running on port 3000. Configure the server to respond to port 3000 using web backends:
[isabell@stardust ~]$ uberspace web backend set / --http --port 3000
[isabell@stardust ~]$
Supervisord Daemon Setup
Create ~/etc/services.d/mailtrain.ini with the following content:
[program:mailtrain]
directory=%(ENV_HOME)s/mailtrain/
command=env NODE_ENV=production /bin/node index.js
autostart=yes
autorestart=yes
If it’s not in state RUNNING, check your configuration.
Login and Change Admin Credentials
Your Mailtrain installation should now be
reachable on https://isabell.uber.space. Log in with the username
admin and the password test.
Go to https://isabell.uber.space/users/account and change your email
address as well as your password.
Finishing installation
Go to https://isabell.uber.space/settings. In the General Settings section change the Service Address (URL)
to https://isabell.uber.space/.
In the Mailer Settings section change the
- Hostname,
- Port,
- Encryption,
- username,
- password, and
- test your settings by pressing the Button Check Mailer Config.
Best Practices
- Test the configuration by creating a new list and subscribing yourself to it.
- Craft your campaign with love and dedication.
- Don’t spam users that don’t want your newsletter.
Tested on Uberspace v7.7.0 with NodeJS v12 and MariaDB 10.3.23.
Related Posts
- Apple Colors in SCSS 2020-08-05
- Ideas 2020-08-04
- Strategies from the Happiness Lab 2020-08-02