force latest tag
[discourse_docker.git] / samples / standalone.yml
CommitLineData
94153e98
JA
1##
2## After making changes to this file, you MUST rebuild for any changes
3## to take effect in your live Discourse instance:
be82e068 4##
563dab7d 5## /var/discourse/launcher rebuild app
94153e98 6##
cc0d15c5 7## Make sure to obey YAML syntax! You can use this site to help check:
8## http://www.yamllint.com/
94153e98
JA
9
10## this is the all-in-one, standalone Discourse Docker container template
c687dd7b 11
85a3eaaf 12# You may add rate limiting by uncommenting the web.ratelimited template.
c687dd7b
S
13# Out of the box it allows 12 reqs a second per ip, and 100 per minute per ip
14# This is configurable by amending the params in this file
15
b6f290a0 16templates:
b6f290a0
SS
17 - "templates/postgres.template.yml"
18 - "templates/redis.template.yml"
b6f290a0 19 - "templates/web.template.yml"
be82e068 20 - "templates/sshd.template.yml"
b1bc7d97 21 - "templates/web.ratelimited.template.yml"
e741295a 22
94153e98 23## which TCP/IP ports should this container expose?
fbdbfba4 24expose:
e741295a
MB
25 - "80:80" # fwd host port 80 to container port 80 (http)
26 - "2222:22" # fwd host port 2222 to container port 22 (ssh)
fbdbfba4 27
8b617e6e
PG
28# any extra arguments for Docker?
29# docker_args:
30
6f99f3c2 31params:
e56a65f6 32 db_default_text_search_config: "pg_catalog.english"
80a6f24a
S
33
34 ## Set db_shared_buffers to a max of 25% of the total memory.
35 ##
36 ## On 1GB installs set to 128MB (to leave room for other processes)
37 ## on a 4GB instance you may raise to 1GB
6f99f3c2
S
38 #db_shared_buffers: "256MB"
39 #
80a6f24a
S
40 ## Set higher on large instances it defaults to 10MB, for a 3GB install 40MB is a good default
41 ## this improves sorting performance, but adds memory usage per-connection
42 #db_work_mem: "40MB"
43 #
093a73b4
JA
44 ## Which Git revision should this container use? (default: tests-passed)
45 #version: tests-passed
fbdbfba4 46
fbdbfba4 47env:
3cb3d9c4 48 LANG: en_US.UTF-8
cc0d15c5 49 # DISCOURSE_DEFAULT_LOCALE: en
50
e56a65f6 51 ## TODO: How many concurrent web requests are supported?
94153e98 52 ## With 2GB we recommend 3-4 workers, with 1GB only 2
075922a5 53 #UNICORN_WORKERS: 3
cc0d15c5 54
e56a65f6 55 ## TODO: List of comma delimited emails that will be made admin and developer
c82ae929 56 ## on initial signup example 'user1@example.com,user2@example.com'
093a73b4 57 DISCOURSE_DEVELOPER_EMAILS: 'me@example.com'
cc0d15c5 58
e56a65f6 59 ## TODO: The domain name this Discourse instance will respond to
94153e98 60 DISCOURSE_HOSTNAME: 'discourse.example.com'
cc0d15c5 61
e56a65f6 62 ## TODO: The mailserver this Discourse instance will use
093a73b4 63 DISCOURSE_SMTP_ADDRESS: smtp.example.com # (mandatory)
075922a5
CR
64 #DISCOURSE_SMTP_PORT: 587 # (optional)
65 #DISCOURSE_SMTP_USER_NAME: user@example.com # (optional)
7439768e 66 #DISCOURSE_SMTP_PASSWORD: pa$$word # (optional, WARNING the char '#' in pw can cause problems!)
b1d030e5 67 #DISCOURSE_SMTP_ENABLE_START_TLS: true # (optional, default true)
cc0d15c5 68
1cb802ad 69 ## The CDN address for this Discourse instance (configured to pull)
075922a5 70 #DISCOURSE_CDN_URL: //discourse-cdn.example.com
1fe0bcd3 71
94153e98 72## These containers are stateless, all data is stored in /shared
1fe0bcd3
SS
73volumes:
74 - volume:
be82e068 75 host: /var/discourse/shared/standalone
1fe0bcd3 76 guest: /shared
be82e068
S
77 - volume:
78 host: /var/discourse/shared/standalone/log/var-log
79 guest: /var/log
b488838a 80
6b21e9cd 81## The docker manager plugin allows you to one-click upgrade Discourse
94153e98 82## http://discourse.example.com/admin/docker
b488838a
SS
83hooks:
84 after_code:
85 - exec:
86 cd: $home/plugins
87 cmd:
88 - mkdir -p plugins
89 - git clone https://github.com/discourse/docker_manager.git
e741295a 90
94153e98 91## Remember, this is YAML syntax - you can only have one block with a name
e741295a
MB
92run:
93 - exec: echo "Beginning of custom commands"
94
9c329429 95 ## If you want to set the 'From' email address for your first registration, uncomment and change:
96 #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
97 ## After getting the first signup email, re-comment the line. It only needs to run once.
98
e741295a 99 ## If you want to configure password login for root, uncomment and change:
e741295a
MB
100 ## Use only one of the following lines:
101 #- exec: /usr/sbin/usermod -p 'PASSWORD_HASH' root
102 #- exec: /usr/sbin/usermod -p "$(mkpasswd -m sha-256 'RAW_PASSWORD')" root
103
104 ## If you want to authorized additional users, uncomment and change:
105 #- exec: ssh-import-id username
106 #- exec: ssh-import-id anotherusername
107
108 - exec: echo "End of custom commands"
109 - exec: awk -F\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Authorized SSH keys for this container:"; } NF>=2 {print $NF;}'