d86438bde9
The default `{{ TrackLink "https://listmonk.app" }}` template function is clumsy to write and does breaks WYSIWYG editors and HTML syntax highlighting because of the quotes. The new syntax doesn't break HTML and is easier to write. Eg: `<a href="https://listmonk.app@TrackLink">Link</a>` - Introduce @TrackLink shorthand. - Add first-class support for tracking links in the WYSIWYG (TinyMCE) editor by introducing an on/off checkbox on the link dialog. - Improve default dummy campaign content to highlight this. |
||
---|---|---|
.github | ||
cmd | ||
frontend | ||
i18n | ||
internal | ||
models | ||
scripts | ||
static | ||
.dockerignore | ||
.gitattributes | ||
.gitignore | ||
.goreleaser.yml | ||
config-demo.toml | ||
config.toml.sample | ||
docker-compose.yml | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
install-demo.sh | ||
install-prod.sh | ||
LICENSE | ||
listmonk@.service | ||
Makefile | ||
queries.sql | ||
README.md | ||
schema.sql | ||
stats.sql | ||
TODO.md | ||
VERSION |
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.
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 aconfig.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 visithttp://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 visithttp://localhost:9000
.
Heroku
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.