Ei kuvausta

Kailash Nadh d3f543cb15 Fix issues with Buefy responsive styles. 3 vuotta sitten
.github 492efe1ffa Bump Go compiler to v1.17 in GitHub actions. 3 vuotta sitten
cmd e0bf1f1b77 Fix broken Cypress tests. 3 vuotta sitten
frontend d3f543cb15 Fix issues with Buefy responsive styles. 3 vuotta sitten
i18n 4dbac141f2 Add Romanian i18n language pack contributed by @gabrielpioaru. 3 vuotta sitten
internal 7aee36eab1 Add support for blocklisting e-mail domains. 3 vuotta sitten
models 8733b205a0 Refactor SQL schema and queries for performance improvements. 3 vuotta sitten
scripts bf6d4718e4 Add script to merge and normalize i18n files 4 vuotta sitten
static 956e990fe6 Improve codeflask HTML syntax highlighting colours. 3 vuotta sitten
.dockerignore e5c3196b31 feat: Add blobstore package 5 vuotta sitten
.gitattributes d27e16e9ca Add a VERSION file for git-archive export 3 vuotta sitten
.gitignore 06bb719a7b feat: Add separate config for demo setup, tweak docs 5 vuotta sitten
.goreleaser.yml df34e57e65 fix: remove deprecated syntax in goreleaser 4 vuotta sitten
Dockerfile f346f0f9ea chore(dockerfile): not are using multi-stage build 4 vuotta sitten
LICENSE e89a54b957 Refactor and add new build routines 6 vuotta sitten
Makefile a97d81a8dc Merge branch 'refactor-frontend-path' 3 vuotta sitten
README.md 0ebf4949de CD to directory before install script 3 vuotta sitten
TODO.md 82702ed5bc Remove completed items 5 vuotta sitten
VERSION d27e16e9ca Add a VERSION file for git-archive export 3 vuotta sitten
config-demo.toml 708ec66d9b Don't indent TOML keys deeper than their sections 4 vuotta sitten
config.toml.sample 09c56da8c6 Document tidbits about listening addresses for non-sysadmin types 4 vuotta sitten
docker-compose.yml 8d40422e0f feat: Add easy install script 4 vuotta sitten
go.mod d6d1883587 Add custom S3 backend support (eg: Minio) to media uploads 3 vuotta sitten
go.sum d6d1883587 Add custom S3 backend support (eg: Minio) to media uploads 3 vuotta sitten
install-demo.sh 2edd3ec800 Fix whitespace inconsistency in install scripts 3 vuotta sitten
install-prod.sh 2edd3ec800 Fix whitespace inconsistency in install scripts 3 vuotta sitten
listmonk@.service c10c03178b add systemd service unit 4 vuotta sitten
queries.sql e0bf1f1b77 Fix broken Cypress tests. 3 vuotta sitten
schema.sql 7aee36eab1 Add support for blocklisting e-mail domains. 3 vuotta sitten
stats.sql 6c5cf0da7a Add support for campaign view tracking with {{ TrackView }} pixel tag 6 vuotta sitten

README.md

listmonk

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 database as its data store.

listmonk-dashboard Visit listmonk.app

Installation

Docker

The latest image is available on DockerHub at listmonk/listmonk:latest. Use the sample docker-compose.yml to run listmonk and Postgres DB with docker-compose as follows:

Demo

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

The demo does not persist Postgres after the containers are removed. DO NOT use this demo setup in production.

Production

Easy Docker install

This setup is recommended if you want to quickly setup listmonk in production.

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

The above shell script performs the following actions:

  • Downloads docker-compose.yml and generates a config.toml.
  • Runs a Postgres container and installs the database schema.
  • Runs the listmonk container.

NOTE: It's recommended to examine the contents of the shell script, before running in your environment.

Manual Docker install

The following workflow is recommended to setup listmonk manually using docker-compose. You are encouraged to customise the contents of docker-compose.yml to your needs. The overall setup looks like:

  • docker-compose up db to run the Postgres DB.
  • docker-compose run --rm app ./listmonk --install to setup the DB (or --upgrade to upgrade an existing DB).
  • Copy config.toml.sample to your directory and make the following changes:
    • app.address => 0.0.0.0:9000 (Port forwarding on Docker will work only if the app is advertising on all interfaces.)
    • db.host => listmonk_db (Container Name of the DB container)
  • Run docker-compose up app and visit http://localhost:9000.

More information on 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.

Heroku

Deploy

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.