Repository URL to install this package:
|
Version:
1.0.0b1 ▾
|
doc: {}
args:
use_https:
doc:
short_help: Whether to use https with letsencrypt.
type: boolean
default: true
cli:
param_decls: --use-https/--no-use-https
hostname:
doc:
short_help: The discourse hostname.
type: string
required: true
admin_emails:
doc:
short_help: A list of email addresses that will be admins after install.
help: |
The first email will also be set as the letsencrypt contact email.
required: true
type: list
schema:
type: string
empty: false
cli:
param_decls:
- --admin-email
metavar: EMAIL
discourse_version:
doc:
short_help: The version of discourse.
type: string
default: stable
required: false
discourse_smtp_address:
doc:
short_help: The SMTP server address.
type: string
required: true
discourse_smtp_port:
doc:
short_help: The SMTP port.
type: integer
required: true
discourse_smtp_user_name:
doc:
short_help: The SMTP user name.
type: string
required: true
# might be the same token as password, that's why it's secret
secret: true
discourse_smtp_password:
doc:
short_help: The SMTP password.
type: string
required: true
secret: true
discourse_smtp_enable_start_tls:
doc:
short_help: Whether to use START_TLS when connecting to the SMTP server.
type: boolean
default: true
required: true
cli:
param_decls:
- --start-tls/--no-start-tls
set_from_email:
doc:
short_help: A custom 'from' email address (e.g. noreply@example.com).
help: |
This only needs to be set/run once, at install time. Needs to be an address that is supported by your smtp settings.
type: string
required: false
discourse_plugins:
doc:
short_help: A list of discourse plugin urls.
type: list
schema:
type: string
required: false
default: []
empty: true
cli:
metavar: PLUGIN
show_default: true
frecklets:
- file-with-content:
path: '{{:: path ::}}'
group: '{{:: group ::}}'
owner: '{{:: owner ::}}'
mode: '{{:: mode ::}}'
content: "## this is the all-in-one, standalone Discourse Docker container template\n##\n## After making changes to this file, you MUST rebuild\n## /var/discourse/launcher rebuild app\n##\n## BE *VERY* CAREFUL WHEN EDITING!\n## YAML FILES ARE SUPER SUPER SENSITIVE TO MISTAKES IN WHITESPACE OR ALIGNMENT!\n## visit http://www.yamllint.com/ to validate this file as needed\n\ntemplates:\n - \"templates/postgres.template.yml\"\n - \"templates/redis.template.yml\"\n - \"templates/web.template.yml\"\n - \"templates/web.ratelimited.template.yml\"\n## Uncomment these two lines if you wish to add Lets Encrypt (https)\n{%:: if use_https ::%}\n - \"templates/web.ssl.template.yml\"\n - \"templates/web.letsencrypt.ssl.template.yml\"\n{%:: endif ::%}\n\n## which TCP/IP ports should this container expose?\n## If you want Discourse to share a port with another webserver like Apache or nginx,\n## see https://meta.discourse.org/t/17247 for details\nexpose:\n - \"80:80\" # http\n - \"443:443\" # https\n\nparams:\n db_default_text_search_config: \"pg_catalog.english\"\n\n ## Set db_shared_buffers to a max of 25% of the total memory.\n ## will be set automatically by bootstrap based on detected RAM, or you can override\n db_shared_buffers: \"256MB\"\n\n ## can improve sorting performance, but adds memory usage per-connection\n #db_work_mem: \"40MB\"\n\n ## Which Git revision should this container use? (default: tests-passed)\n version: \"{{:: discourse_version ::}}\"\n\nenv:\n LANG: en_US.UTF-8\n # DISCOURSE_DEFAULT_LOCALE: en\n\n ## How many concurrent web requests are supported? Depends on memory and CPU cores.\n ## will be set automatically by bootstrap based on detected CPUs, or you can override\n UNICORN_WORKERS: 4\n\n ## TODO: The domain name this Discourse instance will respond to\n ## Required. Discourse will not work with a bare IP number.\n DISCOURSE_HOSTNAME: \"{{:: hostname ::}}\"\n\n ## Uncomment if you want the container to be started with the same\n ## hostname (-h option) as specified above (default \"$hostname-$config\")\n #DOCKER_USE_HOSTNAME: true\n\n ## TODO: List of comma delimited emails that will be made admin and developer\n ## on initial signup example 'user1@example.com,user2@example.com'\n DISCOURSE_DEVELOPER_EMAILS: {{:: admin_emails | join(',') ::}}\n\n ## TODO: The SMTP mail server used to validate new accounts and send notifications\n # SMTP ADDRESS, username, and password are required\n # WARNING the char '#' in SMTP password can cause problems!\n DISCOURSE_SMTP_ADDRESS: \"{{:: discourse_smtp_address ::}}\"\n DISCOURSE_SMTP_PORT: {{:: discourse_smtp_port ::}}\n DISCOURSE_SMTP_USER_NAME: \"{{:: discourse_smtp_user_name ::}}\"\n DISCOURSE_SMTP_PASSWORD: \"{{:: discourse_smtp_password ::}}\"\n DISCOURSE_SMTP_ENABLE_START_TLS: {{:: discourse_smtp_enable_start_tls | string_for_boolean(\"true\", \"false\") ::}} # (optional, default true)\n\n ## If you added the Lets Encrypt template, uncomment below to get a free SSL certificate\n {%:: if use_https ::%}\n LETSENCRYPT_ACCOUNT_EMAIL: {{:: admin_emails[0] ::}}\n {%:: endif ::%}\n ## The CDN address for this Discourse instance (configured to pull)\n ## see https://meta.discourse.org/t/14857 for details\n #DISCOURSE_CDN_URL: //discourse-cdn.example.com\n\n## The Docker container is stateless; all data is stored in /shared\nvolumes:\n - volume:\n host: /var/discourse/shared/standalone\n guest: /shared\n - volume:\n host: /var/discourse/shared/standalone/log/var-log\n guest: /var/log\n\n## Plugins go here\n## see https://meta.discourse.org/t/19157 for details\nhooks:\n after_code:\n - exec:\n cd: $home/plugins\n cmd:{%:: for plugin in discourse_plugins ::%}\n - git clone {{:: plugin ::}}{%:: endfor ::%}\n\n\n\n## Any custom commands to run after building\nrun:\n - exec: echo \"Beginning of custom commands\"\n ## If you want to set the 'From' email address for your first registration, uncomment and change:\n ## After getting the first signup email, re-comment the line.\
\ It only needs to run once.\n {%:: if set_from_email ::%}\n - exec: rails r \"SiteSetting.notification_email='{{:: set_from_email ::}}'\"\n {%:: endif ::%}\n - exec: echo \"End of custom commands\""
meta: {}