2 ## After making changes to this file, you MUST rebuild for any changes
3 ## to take effect in your live Discourse instance:
5 ## /var/discourse/launcher rebuild app
7 ## Make sure to obey YAML syntax! You can use this site to help check:
8 ## http://www.yamllint.com/
10 ## this is the all-in-one, standalone Discourse Docker container template
12 # You may add rate limiting by uncommenting the web.ratelimited template.
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
17 - "templates/postgres.template.yml"
18 - "templates/redis.template.yml"
19 - "templates/web.template.yml"
20 - "templates/sshd.template.yml"
21 - "templates/web.ratelimited.template.yml"
23 ## which TCP/IP ports should this container expose?
25 - "80:80" # fwd host port 80 to container port 80 (http)
26 - "2222:22" # fwd host port 2222 to container port 22 (ssh)
28 # any extra arguments for Docker?
32 db_default_text_search_config: "pg_catalog.english"
34 ## Set db_shared_buffers to a max of 25% of the total memory.
36 ## On 1GB installs set to 128MB (to leave room for other processes)
37 ## on a 4GB instance you may raise to 1GB
38 #db_shared_buffers: "256MB"
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
44 ## Which Git revision should this container use? (default: tests-passed)
45 #version: tests-passed
49 # DISCOURSE_DEFAULT_LOCALE: en
51 ## TODO: How many concurrent web requests are supported?
52 ## With 2GB we recommend 3-4 workers, with 1GB only 2
55 ## TODO: List of comma delimited emails that will be made admin and developer
56 ## on initial signup example 'user1@example.com,user2@example.com'
57 DISCOURSE_DEVELOPER_EMAILS: 'me@example.com'
59 ## TODO: The domain name this Discourse instance will respond to
60 DISCOURSE_HOSTNAME: 'discourse.example.com'
62 ## TODO: The mailserver this Discourse instance will use
63 DISCOURSE_SMTP_ADDRESS: smtp.example.com # (mandatory)
64 #DISCOURSE_SMTP_PORT: 587 # (optional)
65 #DISCOURSE_SMTP_USER_NAME: user@example.com # (optional)
66 #DISCOURSE_SMTP_PASSWORD: pa$$word # (optional)
67 #DISCOURSE_SMTP_ENABLE_START_TLS: true # (optional, default true)
69 ## The CDN address for this Discourse instance (configured to pull)
70 #DISCOURSE_CDN_URL: //discourse-cdn.example.com
72 ## These containers are stateless, all data is stored in /shared
75 host: /var/discourse/shared/standalone
78 host: /var/discourse/shared/standalone/log/var-log
81 ## The docker manager plugin allows you to one-click upgrade Discourse
82 ## http://discourse.example.com/admin/docker
89 - git clone https://github.com/discourse/docker_manager.git
91 ## Remember, this is YAML syntax - you can only have one block with a name
93 - exec: echo "Beginning of custom commands"
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.
99 ## If you want to configure password login for root, uncomment and change:
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
104 ## If you want to authorized additional users, uncomment and change:
105 #- exec: ssh-import-id username
106 #- exec: ssh-import-id anotherusername
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;}'