commit
3d3af8c429
|
@ -5,3 +5,4 @@ frontend/yarn.lock
|
|||
|
||||
config.toml
|
||||
node_modules
|
||||
listmonk
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
env:
|
||||
- GO111MODULE=on
|
||||
- RELEASE_BUILDS=dist/listmonk_darwin_amd64/listmonk dist/listmonk_linux_amd64/listmonk dist/listmonk_windows_amd64//listmonk.exe
|
||||
- CGO_ENABLED=0
|
||||
- RELEASE_BUILDS=dist/listmonk_darwin_amd64/listmonk dist/listmonk_linux_amd64/listmonk dist/listmonk_windows_amd64/listmonk.exe
|
||||
|
||||
before:
|
||||
hooks:
|
||||
|
@ -27,3 +28,15 @@ archives:
|
|||
- README.md
|
||||
- INSTALL.md
|
||||
- LICENSE
|
||||
dockers:
|
||||
-
|
||||
goos: linux
|
||||
goarch: amd64
|
||||
binaries:
|
||||
- listmonk
|
||||
image_templates:
|
||||
- "listmonk/listmonk:latest"
|
||||
- "listmonk/listmonk:{{ .Tag }}"
|
||||
dockerfile: Dockerfile
|
||||
extra_files:
|
||||
- config.toml.sample
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
FROM alpine:latest AS deploy
|
||||
RUN apk --no-cache add ca-certificates
|
||||
WORKDIR /listmonk
|
||||
COPY listmonk .
|
||||
COPY config.toml.sample config.toml
|
||||
CMD ["./listmonk"]
|
17
INSTALL.md
17
INSTALL.md
|
@ -3,3 +3,20 @@
|
|||
- 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.
|
||||
- Visit `http://localhost:9000`.
|
||||
|
||||
## Running on Docker
|
||||
|
||||
You can checkout the [docker-compose.yml](docker-compose.yml) to get an idea of how to run `listmonk` with `PostgreSQL` together using Docker.
|
||||
|
||||
- `docker-compose up -d` to run all the services together.
|
||||
- `docker-compose run --rm app ./listmonk --install` to setup the DB.
|
||||
- Visit `http://localhost:9000`.
|
||||
|
||||
### 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.
|
||||
|
|
10
README.md
10
README.md
|
@ -14,6 +14,16 @@ listmonk is a standalone, self-hosted, newsletter and mailing list manager. It i
|
|||
- Visit `http://localhost:9000`.
|
||||
- Since there is no user auth yet, it's best to put listmonk behind a proxy like Nginx and setup basicauth on all endpoints except for the few endpoints that need to be public. Here is a [sample nginx config](https://github.com/knadh/listmonk/wiki/Production-Nginx-config) for production use.
|
||||
|
||||
### Running on Docker
|
||||
|
||||
You can checkout the [docker-compose.yml](docker-compose.yml) to get an idea of how to run `listmonk` with `PostgreSQL` together using Docker.
|
||||
|
||||
- `docker-compose up -d` to run all the services together.
|
||||
- `docker-compose run --rm app ./listmonk --install` to setup the DB.
|
||||
- Visit `http://localhost:9000`.
|
||||
|
||||
Alternatively, to run a demo of listmonk, you can quickly spin up a container `docker-compose up -d demo-db demo-app`. NOTE: This doesn't persist Postgres data after you stop and remove the container, this setup is intended only for demo. _DO NOT_ use the demo setup in production.
|
||||
|
||||
### Help and docs
|
||||
|
||||
[Help and documentation](https://listmonk.app/docs) (work in progress).
|
||||
|
|
|
@ -46,10 +46,10 @@ max_send_errors = 1000
|
|||
|
||||
# Database.
|
||||
[db]
|
||||
host = "localhost"
|
||||
host = "demo-db"
|
||||
port = 5432
|
||||
user = "listmonk"
|
||||
password = ""
|
||||
password = "listmonk"
|
||||
database = "listmonk"
|
||||
ssl_mode = "disable"
|
||||
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
# NOTE: This docker-compose.yml is meant to be just an example guideline
|
||||
# on how you can achieve the same. It is not intented to run out of the box
|
||||
# and you must edit the below configurations to suit your needs.
|
||||
|
||||
version: "3.7"
|
||||
|
||||
x-app-defaults: &app-defaults
|
||||
restart: unless-stopped
|
||||
image: listmonk/listmonk:latest
|
||||
ports:
|
||||
- "9000:9000"
|
||||
networks:
|
||||
- listmonk
|
||||
|
||||
x-db-defaults: &db-defaults
|
||||
image: postgres:11
|
||||
ports:
|
||||
- "9432:5432"
|
||||
networks:
|
||||
- listmonk
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=listmonk
|
||||
- POSTGRES_USER=listmonk
|
||||
- POSTGRES_DB=listmonk
|
||||
restart: unless-stopped
|
||||
|
||||
services:
|
||||
db:
|
||||
<<: *db-defaults
|
||||
volumes:
|
||||
- type: volume
|
||||
source: listmonk-data
|
||||
target: /var/lib/postgresql/data
|
||||
|
||||
app:
|
||||
<<: *app-defaults
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
demo-db:
|
||||
<<: *db-defaults
|
||||
|
||||
demo-app:
|
||||
<<: *app-defaults
|
||||
command: [sh, -c, "yes | ./listmonk --install && ./listmonk"]
|
||||
depends_on:
|
||||
- demo-db
|
||||
|
||||
networks:
|
||||
listmonk:
|
||||
|
||||
volumes:
|
||||
listmonk-data:
|
Loading…
Reference in New Issue