listmonk/INSTALL.md
Karan Sharma 06bb719a7b feat: Add separate config for demo setup, tweak docs
This PR adds `config-demo.toml` to `Dockerfile` which uses the db host
`demo-db`. This is more suited for demo setups. For normal docker installations
the db host is changed back to `db` which is a better sane default.
Reworded `INSTALL.md` and `README.md` for more clarity on docker
installation and configuration.
2020-07-08 22:38:31 +05:30

1.9 KiB

Install and run

  • Run ./listmonk --new-config to generate a sample config.toml and add your configuration (SMTP and Postgres DB credentials primarily).
  • ./listmonk --install to setup the DB.
  • Run ./listmonk and visit http://localhost:9000.

Running on Docker

You can checkout the docker-compose.yml to get an idea of how to run listmonk with PostgreSQL together using Docker.

  • Run the services: docker-compose up -d app db to run all the services together. If this is a first time setup, you will see some errors related to DB which occur because migrations haven't been applied yet. Don't worry, follow the next step.
  • Apply DB migrations: docker-compose run --rm app ./listmonk --install.
  • Ensure that both the containers are in running state before proceeding. If the app container is not up, you might need to restart the app container once: docker-compose restart app.
  • Visit http://localhost:9000.

Mounting a custom config file

You are expected to tweak config.toml.sample for actual use with your custom settings. To mount the config.toml file, you can add the following section to docker-compose.yml:

  app:
    <<: *app-defaults
    depends_on:
      - db
    volume:
    - ./path/on/host/config.toml/:/listmonk/config.toml

This will mount your local config.toml inside the container at listmonk/config.toml.

NOTE: This docker-compose file works with Docker Engine 18.06.0+ and docker-compose which supports file format 3.7.

Demo Setup

docker-compose.yml includes a demo setup to quickly try out listmonk. It spins up PostgreSQL and listmonk app containers without any persistent data.

  • Run docker-compose up -d demo-db demo-app.
  • Visit http://localhost:9000.

NOTE: This setup will delete the data once you kill and remove the containers. This setup is NOT intended for production use.