57 lines
1.7 KiB
YAML
57 lines
1.7 KiB
YAML
|
# documentation: https://listmonk.app/
|
||
|
# slogan: Self-hosted newsletter and mailing list manager
|
||
|
# tags: newsletter, mailing list, self-hosted, open source
|
||
|
# logo: svgs/listmonk.svg
|
||
|
# port: 9000
|
||
|
|
||
|
services:
|
||
|
listmonk:
|
||
|
image: listmonk/listmonk:latest
|
||
|
environment:
|
||
|
- SERVICE_FQDN_LISTMONK_9000
|
||
|
- LISTMONK_app__address=0.0.0.0:9000
|
||
|
- LISTMONK_db__host=postgres
|
||
|
- LISTMONK_db__name=listmonk
|
||
|
- LISTMONK_db__user=$SERVICE_USER_POSTGRES
|
||
|
- LISTMONK_db__password=$SERVICE_PASSWORD_POSTGRES
|
||
|
- LISTMONK_db__port=5432
|
||
|
- LISTMONK_app__admin_username=admin
|
||
|
- LISTMONK_app__admin_password=$SERVICE_PASSWORD_ADMIN
|
||
|
- TZ=Etc/UTC
|
||
|
volumes:
|
||
|
- "listmonk-data:/listmonk/uploads"
|
||
|
depends_on:
|
||
|
postgres:
|
||
|
condition: service_healthy
|
||
|
healthcheck:
|
||
|
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:9000"]
|
||
|
interval: 5s
|
||
|
timeout: 20s
|
||
|
retries: 10
|
||
|
listmonk-initial-database-setup:
|
||
|
image: listmonk/listmonk:latest
|
||
|
command: "./listmonk --install --yes --idempotent"
|
||
|
restart: "no"
|
||
|
depends_on:
|
||
|
postgres:
|
||
|
condition: service_healthy
|
||
|
environment:
|
||
|
- LISTMONK_db__host=postgres
|
||
|
- LISTMONK_db__name=listmonk
|
||
|
- LISTMONK_db__user=$SERVICE_USER_POSTGRES
|
||
|
- LISTMONK_db__password=$SERVICE_PASSWORD_POSTGRES
|
||
|
- LISTMONK_db__port=5432
|
||
|
postgres:
|
||
|
image: "postgres:latest"
|
||
|
environment:
|
||
|
- POSTGRES_DB=listmonk
|
||
|
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
||
|
- POSTGRES_USER=$SERVICE_USER_POSTGRES
|
||
|
volumes:
|
||
|
- "pg-data:/var/lib/postgresql/data"
|
||
|
healthcheck:
|
||
|
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
||
|
interval: 5s
|
||
|
timeout: 20s
|
||
|
retries: 10
|