mailman-podman-setup
Mailman 3 setup using Podman Quadlets. Containers are supposed to run in rootless mode.
requirements
- Podman version 4 or later
- pwgen to generate random secrets
- an unprivileged user account to run the containers. A separate account (i.e. mailman is not required, but recommended.)
installation
-
Switch to the user account you want to use to run Mailman.
-
In the user account's home directory, create the directory where the Systemd generator looks for quadlets.
$ mkdir -p ~mailman/.config/containers/systemd -
Then copy the files from the mailman/ subdirectory in this repository into the quadlet directory:
bash $ cp mailman/* ~mailman/.config/containers/systemd/ -
Now we have to generate some secrets which the various components use to talk to each other:
$ pwgen -1 32 | | podman secret create HYPERKITTY_API_KEY - $ pwgen -1 32 | podman secret create MAILMAN_REST_PASSWORD - $ pwgen -1 32 | podman secret create MAILMAN_WEB_SECRET_KEY - -
Next adapt the environment variable definitions in mailman-core.container and mailman-web.container to your needs. You may want to customize at least the variable SERVE_FROM_DOMAIN, which is set to lists.example.com by default.
-
Finally run
$ systemctl --user daemon-reloadto trigger the systemd unit generator and start the services:$ systemctl --user start mailman-core mailman-web -
By default Systemd launches user services only when the user logs in. To create a user session when the system boots, enable the automatic user session creation on boot with the following command as root:
# systemctl enable-linger mailman