164 lines
7.1 KiB
YAML
164 lines
7.1 KiB
YAML
captainVersion: 4
|
|
services:
|
|
$$cap_appname:
|
|
caproverExtra:
|
|
containerHttpPort: $$cap_KEILA_PORT
|
|
image: pentacent/keila:$$cap_KEILA_VERSION
|
|
hostname: $$cap_appname.$$cap_root_domain
|
|
environment:
|
|
DB_URL: postgres://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DATABASE
|
|
DB_ENABLE_SSL: $$cap_KEILA_DB_ENABLE_SSL
|
|
KEILA_USER: $$cap_KEILA_USER
|
|
KEILA_PASSWORD: $$cap_KEILA_PASSWORD
|
|
URL_HOST: $$cap_appname.$$cap_root_domain
|
|
URL_PATH: $$cap_KEILA_URL_PATH
|
|
URL_SCHEMA: $$cap_KEILA_URL_SCHEMA
|
|
URL_PORT: $$cap_KEILA_URL_PORT
|
|
PORT: $$cap_KEILA_PORT
|
|
SECRET_KEY_BASE: $$cap_KEILA_SECRET_KEY_BASE
|
|
DISABLE_REGISTRATION: $$cap_KEILA_DISABLE_REGISTRATION
|
|
DISABLE_PRECEDENCE_HEADER: $$cap_KEILA_DISABLE_PRECEDENCE_HEADER
|
|
MAILER_TYPE: $$cap_KEILA_MAILER_TYPE
|
|
MAILER_SMTP_HOST: $$cap_KEILA_MAILER_SMTP_HOST
|
|
MAILER_SMTP_PORT: $$cap_KEILA_MAILER_SMTP_PORT
|
|
MAILER_SMTP_USER: $$cap_KEILA_MAILER_SMTP_USER
|
|
MAILER_SMTP_PASSWORD: $$cap_KEILA_MAILER_SMTP_PASSWORD
|
|
HCAPTCHA_SITE_KEY: $$cap_KEILA_HCAPTCHA_SITE_KEY
|
|
HCAPTCHA_SECRET_KEY: $$cap_KEILA_HCAPTCHA_SECRET_KEY
|
|
HCAPTCHA_URL: $$cap_KEILA_HCAPTCHA_URL
|
|
depends_on:
|
|
- $$cap_appname-db
|
|
|
|
$$cap_appname-db:
|
|
caproverExtra:
|
|
notExposeAsWebApp: 'true'
|
|
image: postgres:$$cap_POSTGRES_VERSION
|
|
environment:
|
|
POSTGRES_USER: $$cap_POSTGRES_USER
|
|
POSTGRES_PASSWORD: $$cap_POSTGRES_PASSWORD
|
|
POSTGRES_DB: $$cap_POSTGRES_DATABASE
|
|
volumes:
|
|
- $$cap_appname-db:/var/lib/postgresql/data
|
|
caproverOneClickApp:
|
|
instructions:
|
|
start: |-
|
|
Keila is an open source alternative to newsletter tools like Mailchimp or Sendinblue.
|
|
With Keila you can easily send out newsletter campaigns and create sign-up forms.
|
|
For smaller newsletters, you can use your own email inbox to send out campaigns.
|
|
For larger newsletter projects, AWS SES, Sendgrid, and Mailgun are supported in addition to SMTP.
|
|
end: |-
|
|
Keila has been successfully deployed! It might take few moments before it's fully started.
|
|
You can access it at `http://$$cap_appname.$$cap_root_domain`.
|
|
Root user is `$$cap_KEILA_USER` with password `$$cap_KEILA_PASSWORD`.
|
|
displayName: Keila
|
|
isOfficial: true
|
|
description: Free and open source email newsletter tool.
|
|
documentation: https://www.keila.io/docs
|
|
variables:
|
|
- id: $$cap_KEILA_VERSION
|
|
label: Keila | Version Tag
|
|
description: Check out their valid tags at https://hub.docker.com/r/pentacent/keila/tags
|
|
defaultValue: '0.9'
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_KEILA_PORT
|
|
label: Keila | Port
|
|
description: Port of Keila host.
|
|
defaultValue: 4000
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_KEILA_DB_ENABLE_SSL
|
|
label: Keila | Database SSL
|
|
description: Whether to use SSL for database connection.
|
|
defaultValue: 'false'
|
|
validRegex: /^(true|false)$/
|
|
- id: $$cap_KEILA_USER
|
|
label: Keila | Administrator User
|
|
description: Email address for the root user.
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_KEILA_PASSWORD
|
|
label: Keila | Administrator Password
|
|
description: Password for the root user.
|
|
defaultValue: $$cap_gen_random_hex(16)
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_KEILA_URL_PATH
|
|
label: Keila | URL Path
|
|
description: Path of your Keila instance.
|
|
defaultValue: /
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_KEILA_URL_SCHEMA
|
|
label: Keila | URL Schema
|
|
description: Use `http` or `https`. URL scheme of your Keila instance.
|
|
defaultValue: http
|
|
validRegex: /^(http|https)$/
|
|
- id: $$cap_KEILA_URL_PORT
|
|
label: Keila | URL Port
|
|
description: Port of your Keila instance. Use `80` for schema `http` or `443` for schema `https`.
|
|
defaultValue: 80
|
|
validRegex: /^(80|443)$/
|
|
- id: $$cap_KEILA_SECRET_KEY_BASE
|
|
label: Keila | Secret Key Base
|
|
description: Strong secret with at least 64 characters. Can be generated with `head -c 48 /dev/urandom`
|
|
defaultValue: $$cap_gen_random_hex(128)
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_KEILA_DISABLE_REGISTRATION
|
|
label: Keila | Disable Registration
|
|
description: Disable user registration by setting this variable to `true`.
|
|
defaultValue: 'true'
|
|
validRegex: /^(true|false)$/
|
|
- id: $$cap_KEILA_DISABLE_PRECEDENCE_HEADER
|
|
label: Keila | Disable Precedence Header
|
|
description: >-
|
|
Disable the `Precedence: Bulk` header by setting this variable to `true`.
|
|
defaultValue: 'false'
|
|
validRegex: /^(true|false)$/
|
|
- id: $$cap_KEILA_MAILER_TYPE
|
|
label: Keila | Mailer Type
|
|
description: Mail delivery type. Currently only `smtp` is supported.
|
|
defaultValue: smtp
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_KEILA_MAILER_SMTP_HOST
|
|
label: Keila | SMTP Server Hostname
|
|
description: Hostname of the SMTP server.
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_KEILA_MAILER_SMTP_PORT
|
|
label: Keila | SMTP Server Port
|
|
description: Port of the SMTP server.
|
|
defaultValue: 587
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_KEILA_MAILER_SMTP_USER
|
|
label: Keila | SMTP User
|
|
description: Username for the SMTP server.
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_KEILA_MAILER_SMTP_PASSWORD
|
|
label: Keila | SMTP Password
|
|
description: Password for the SMTP server.
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_KEILA_HCAPTCHA_SITE_KEY
|
|
label: Keila | hCaptcha Site Key
|
|
description: Site key for hCaptcha.
|
|
- id: $$cap_KEILA_HCAPTCHA_SECRET_KEY
|
|
label: Keila | hCaptcha Secret Key
|
|
description: Secret key for hCaptcha.
|
|
- id: $$cap_KEILA_HCAPTCHA_URL
|
|
label: Keila | hCaptcha Verification URL
|
|
description: Verification URL for hCaptcha.
|
|
- id: $$cap_POSTGRES_VERSION
|
|
label: PostgreSQL | Version Tag
|
|
description: Check out their valid tags at https://hub.docker.com/_/postgres/tags
|
|
defaultValue: '14.5'
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_POSTGRES_USER
|
|
label: PostgreSQL | User
|
|
description: Database user.
|
|
defaultValue: keila
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_POSTGRES_PASSWORD
|
|
label: PostgreSQL | Password
|
|
description: Database user password.
|
|
defaultValue: $$cap_gen_random_hex(16)
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_POSTGRES_DATABASE
|
|
label: PostgreSQL | Database
|
|
description: Database name.
|
|
defaultValue: keila
|
|
validRegex: /.{1,}/
|