Skip to content

High performance, self-hosted, newsletter and mailing list manager with a modern dashboard. Single binary app.

License

Notifications You must be signed in to change notification settings

highcanfly-club/hcfmailer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

listmonk-logo

listmonk is a standalone, self-hosted, newsletter and mailing list manager. It is fast, feature-rich, and packed into a single binary. It uses a PostgreSQL (⩾ 12) database as its data store.

listmonk-dashboard

Visit listmonk.app for more info. Check out the live demo.

Installation

Docker

The latest image is available on DockerHub at listmonk/listmonk:latest. Use the sample docker-compose.yml to run manually or use the helper script.

HCF Docker

For building the HCFDocker image run:

make hcf-docker

For running create a config.toml file and issue:

make run-hcf-docker

For using a private CA certificate declare an environment variable CA_CERTIFICATE.  
It must be a single line variable, replace all newline with a |  
The image expose a ssh port on 3022, it only supports ssh-key login, for supplying yours add a SSH_PUBKEY environment variable with your public key  

For a complete running system see hcf/start.sh
you need to declare

DKIM_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----|MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSj……………BuoTsIHpowYjVbps4=|-----END PRIVATE KEY-----"  #(optional a valid DKIM private key with | in place of CR
DKIM_SELECTOR=yourselector                                   #(optional DKIM selector)
ALLOWED_SENDER_DOMAINS="example.org example.net example.com" #mandatory 
POSTGRES_DB=listmonk                                         #mandatory (the name of the DB)
POSTGRES_PASSWORD=apassword                                  #mandatory (the password of the DB)
POSTGRES_USER=auser                                          #mandatory (the user of the DB)
LISTMONK_USER=listmonk                                       #optional default to listmonk
LISTMONK_PASSWORD=averysecurepassword                        #mandatory (the admin password)
OKETO_NS=yournamespace                                       #mandatory (the K8S namespace)
OKTETO_FQDN_HCFMAILER=name-yournamespace.cloud.okteto.net    #mandatory (the fqdn for the admin UI -ingress)
SSH_PUBKEY="ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLIHfyW0g6kUxa4hn1fWzrIY/98HVWEymk8liFRadW2bCknHdLyNnzYGOQvcHlg+mLhFhSJwiA5DaHAEwwHbRQE= key@hcfmailer" #(optional a valid ssh pubkey - will be filled as authorized key)
CLOUDFLARE_API_KEY="the-zone-id"                               #mandatory
CLOUDFLARE_ZONE_ID="your-api-key-with-dns-rights"              #mandatory
CLOUDFLARE_DNS_RECORDS="smtpd.example.org, smtpd2.example.ord" #Mandatory
POSTFIX_HOSTNAME="smtpd.example.org"                           #Recommended

for deploying on a Kubernetes cluster see hcf/okteto/sart-k8s.sh

Demo

mkdir listmonk-demo && cd listmonk-demo
sh -c "$(curl -fsSL https://raw.githubusercontent.com/knadh/listmonk/master/install-demo.sh)"

DO NOT use this demo setup in production.

Production

mkdir listmonk && cd listmonk
sh -c "$(curl -fsSL https://raw.githubusercontent.com/knadh/listmonk/master/install-prod.sh)"

Visit http://localhost:9000.

NOTE: Always examine the contents of shell scripts before executing them.

See installation docs.


Binary

  • Download the latest release and extract the listmonk binary.
  • ./listmonk --new-config to generate config.toml. Then, edit the file.
  • ./listmonk --install to setup the Postgres DB (or --upgrade to upgrade an existing DB. Upgrades are idempotent and running them multiple times have no side effects).
  • Run ./listmonk and visit http://localhost:9000.

See installation docs.


Developers

listmonk is a free and open source software licensed under AGPLv3. If you are interested in contributing, refer to the developer setup. The backend is written in Go and the frontend is Vue with Buefy for UI.

License

listmonk is licensed under the AGPL v3 license.

About

High performance, self-hosted, newsletter and mailing list manager with a modern dashboard. Single binary app.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 40.4%
  • JavaScript 26.9%
  • Vue 25.8%
  • HTML 1.9%
  • SCSS 1.8%
  • Smarty 1.2%
  • Other 2.0%