Commit | Line | Data |
---|---|---|
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 | 16 | templates: |
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 | 24 | expose: |
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 | 31 | params: |
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 | 47 | env: |
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 |
73 | volumes: |
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 |
83 | hooks: |
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 |
92 | run: |
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;}' |