]> git.openstreetmap.org Git - chef.git/blob - cookbooks/community/templates/default/web_only.yml.erb
eb46dbe37ae1b733a25dd2ef819f4a37e85f812a
[chef.git] / cookbooks / community / templates / default / web_only.yml.erb
1 templates:
2   - "templates/web.template.yml"
3   - "templates/web.ssl.template.yml"
4
5 ## which TCP/IP ports should this container expose?
6 ## If you want Discourse to share a port with another webserver like Apache or nginx,
7 ## see https://meta.discourse.org/t/17247 for details
8 expose:
9   - "80:80"   # http
10   - "443:443" # https
11
12 # Use 'links' key to link containers together, aka use Docker --link flag.
13 links:
14   - link:
15       name: data
16       alias: data
17
18 # any extra arguments for Docker?
19 # docker_args:
20
21 # Latest Version v3.0.1
22 params:
23   version: stable
24
25 env:
26   LC_ALL: en_US.UTF-8
27   LANG: en_US.UTF-8
28   LANGUAGE: en_US.UTF-8
29   DISCOURSE_FORCE_HTTPS: true
30
31   ## How many concurrent web requests are supported? Depends on memory and CPU cores.
32   ## will be set automatically by bootstrap based on detected CPUs, or you can override
33   UNICORN_WORKERS: <%= node.cpu_cores %>
34
35   ## TODO: The domain name this Discourse instance will respond to
36   DISCOURSE_HOSTNAME: community.openstreetmap.org
37   DISCOURSE_CDN_URL: https://community-cdn.openstreetmap.org
38
39   ## Uncomment if you want the container to be started with the same
40   ## hostname (-h option) as specified above (default "$hostname-$config")
41   #DOCKER_USE_HOSTNAME: true
42
43   ## TODO: List of comma delimited emails that will be made admin and developer
44   ## on initial signup example 'user1@example.com,user2@example.com'
45   DISCOURSE_DEVELOPER_EMAILS: 'operations@openstreetmap.org'
46
47   DISCOURSE_SMTP_ADDRESS: <%= node[:exim][:smarthost_via].split(":", 2)[0] %>
48   DISCOURSE_SMTP_PORT: <%= node[:exim][:smarthost_via].split(":", 2)[1] || "25" %>
49   DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
50   DISCOURSE_SMTP_USER_NAME:
51   DISCOURSE_SMTP_PASSWORD:
52   DISCOURSE_SMTP_DOMAIN: community.openstreetmap.org
53   DISCOURSE_NOTIFICATION_EMAIL: community@noreply.openstreetmap.org
54
55   ## TODO: configure connectivity to the databases
56   DISCOURSE_DB_SOCKET: ''
57   #DISCOURSE_DB_USERNAME: discourse
58   DISCOURSE_DB_PASSWORD: '<%= @passwords["database"] %>'
59   DISCOURSE_DB_HOST: data
60   DISCOURSE_REDIS_HOST: data
61
62   ## The maxmind geolocation IP address key for IP address lookup
63   ## see https://meta.discourse.org/t/-/137387/23 for details
64 <% if @license_keys -%>
65   DISCOURSE_MAXMIND_LICENSE_KEY: '<%= @license_keys[node[:geoipupdate][:account]] %>'
66 <% end -%>
67
68   # Increase base SIDEKIQ memory limit to 1GB
69   UNICORN_SIDEKIQ_MAX_RSS: 1000
70
71 volumes:
72   - volume:
73       host: /srv/community.openstreetmap.org/shared/web-only
74       guest: /shared
75   - volume:
76       host: /srv/community.openstreetmap.org/shared/web-only/log/var-log
77       guest: /var/log
78   - volume:
79       host: /etc/ssl/certs/community.openstreetmap.org.pem
80       guest: /shared/ssl/ssl.crt
81   - volume:
82       host: /etc/ssl/private/community.openstreetmap.org.key
83       guest: /shared/ssl/ssl.key
84   - volume:
85       host: /srv/community.openstreetmap.org/files/update-feeds.atom
86       guest: /var/www/discourse/public/update-feeds.atom
87
88 ## Plugins go here
89 ## see https://meta.discourse.org/t/19157 for details
90 hooks:
91   after_code:
92     - exec:
93         cd: $home/plugins
94         cmd:
95           - sudo -H -E -u discourse git clone --depth 1 https://github.com/discourse/discourse-oauth2-basic.git
96           - sudo -H -E -u discourse git clone --depth 1 https://github.com/discourse/discourse-solved.git
97           - sudo -H -E -u discourse git clone --depth 1 https://github.com/discourse/discourse-canned-replies.git
98           - sudo -H -E -u discourse git clone --depth 1 https://github.com/discourse/discourse-reactions.git
99           - sudo -H -E -u discourse git clone --depth 1 https://github.com/discourse/discourse-prometheus.git
100           - sudo -H -E -u discourse git clone --depth 1 https://github.com/discourse/discourse-translator.git
101   after_ssl:
102     - replace:
103         filename: "/etc/nginx/conf.d/discourse.conf"
104         from: /listen 80;/
105         to: |
106           listen 80;
107           rewrite ^/\.well-known/acme-challenge/(.*)$ http://acme.openstreetmap.org/.well-known/acme-challenge/$1 permanent;
108
109     - replace:
110         filename: "/etc/nginx/conf.d/discourse.conf"
111         from: /add_header.+/
112         to: |
113           add_header Strict-Transport-Security 'max-age=63072000';