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

171 lines
7.4 KiB
YAML

captainVersion: 4
services:
$$cap_appname:
caproverExtra:
containerHttpPort: $$cap_KEILA_PORT
image: pentacent/keila:$$cap_KEILA_VERSION
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
CAPTCHA_PROVIDER: $$cap_KEILA_CAPTCHA_PROVIDER
CAPTCHA_SITE_KEY: $$cap_KEILA_CAPTCHA_SITE_KEY
CAPTCHA_SECRET_KEY: $$cap_KEILA_CAPTCHA_SECRET_KEY
CAPTCHA_URL: $$cap_KEILA_CAPTCHA_URL
depends_on:
- $$cap_appname-db
volumes:
- $$cap_appname-upload:/opt/app/uploads
$$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.12.2'
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_CAPTCHA_PROVIDER
label: Keila | Captcha Provider
description: Provider that serves the Captcha.
defaultValue: 'hcaptcha'
validRegex: /^(hcaptcha|friendly_captcha)$/
- id: $$cap_KEILA_CAPTCHA_SITE_KEY
label: Keila | Captcha Site Key
description: Site key for captcha provider.
- id: $$cap_KEILA_CAPTCHA_SECRET_KEY
label: Keila | Captcha Secret Key
description: Secret key for captcha provider.
- id: $$cap_KEILA_CAPTCHA_URL
label: Keila | Captcha Verification URL
description: Verification URL for captcha provider.
- 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,}/