one-click-apps/public/v4/apps/listmonk.yml

81 lines
3.2 KiB
YAML

captainVersion: 4
services:
$$cap_appname-db:
image: postgres:$$cap_postgres_version
volumes:
- $$cap_appname-db-data:/var/lib/postgresql/data
restart: always
environment:
POSTGRES_USER: $$cap_postgres_username
POSTGRES_PASSWORD: $$cap_postgres_password
POSTGRES_DB: $$cap_postgres_db_name
caproverExtra:
notExposeAsWebApp: 'true'
$$cap_appname:
environment:
TZ: Etc/UTC
LISTMONK_db__host: srv-captain--$$cap_appname-db
LISTMONK_db__database: $$cap_postgres_db_name
LISTMONK_db__user: $$cap_postgres_username
LISTMONK_db__password: $$cap_postgres_password
LISTMONK_db__ssl_mode: $$cap_postgres_ssl_mode
LISTMONK_app__admin_username: $$cap_listmonk_admin_username
LISTMONK_app__admin_password: $$cap_listmonk_admin_password
LISTMONK_app__address: 0.0.0.0:9000
caproverExtra:
containerHttpPort: 9000
dockerfileLines:
- FROM listmonk/listmonk:$$cap_listmonk_version
- CMD yes | ./listmonk --install --idempotent && ./listmonk
volumes:
- $$cap_appname-data:/listmonk
depends_on:
- $$cap_appname-db
caproverOneClickApp:
variables:
- id: $$cap_postgres_version
label: Postgresql Version
defaultValue: '14.1'
description: Check out their Docker page for the valid tags https://hub.docker.com/_/postgres?tab=tags
validRegex: /^([^\s^\/])+$/
- id: $$cap_listmonk_version
label: Listmonk Version
defaultValue: 'v2.0.0'
description: Check out their Docker page for the valid tags https://hub.docker.com/r/listmonk/listmonk/tags
validRegex: /^([^\s^\/])+$/
- id: $$cap_postgres_db_name
label: PostgreSQL Database name
defaultValue: 'listmonk'
validRegex: /.{1,}/
- id: $$cap_postgres_username
label: PostgreSQL username
defaultValue: 'listmonk'
validRegex: /.{1,}/
- id: $$cap_postgres_password
label: PostgreSQL Password
defaultValue: $$cap_gen_random_hex(32)
validRegex: /.{1,}/
- id: $$cap_postgres_ssl_mode
label: PostgreSQL SSL Mode
defaultValue: 'disable'
validRegex: /.{1,}/
- id: $$cap_listmonk_admin_username
label: Listmonk Admin Username
defaultValue: 'listmonk'
validRegex: /.{1,}/
- id: $$cap_listmonk_admin_password
label: Listmonk Admin Password
defaultValue: $$cap_gen_random_hex(32)
validRegex: /.{1,}/
instructions:
start: |-
High performance, self-hosted newsletter and mailing list manager with a modern dashboard
end: |-
$$cap_appname is deployed
displayName: Listmonk
isOfficial: false ## Only if all images used here are official or from a trusted source.
description: High performance, self-hosted newsletter and mailing list manager with a modern dashboard
documentation: This docker-compose is taken https://github.com/knadh/listmonk