X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/82dbf98a3d5a2c17729b0e6d56b8065a83599c2e..036734d15e6cd4fbc57e031ceca870f6c90e53bf:/cookbooks/community/templates/default/web_only.yml.erb?ds=sidebyside diff --git a/cookbooks/community/templates/default/web_only.yml.erb b/cookbooks/community/templates/default/web_only.yml.erb index 1e40406a4..225b98905 100644 --- a/cookbooks/community/templates/default/web_only.yml.erb +++ b/cookbooks/community/templates/default/web_only.yml.erb @@ -1,5 +1,6 @@ templates: - "templates/web.template.yml" + - "templates/web.ipv6.template.yml" - "templates/web.ssl.template.yml" ## which TCP/IP ports should this container expose? @@ -18,7 +19,7 @@ links: # any extra arguments for Docker? # docker_args: -# Latest Version v2.8.13 +# Latest Version v3.1.4 params: version: stable @@ -50,6 +51,8 @@ env: DISCOURSE_SMTP_USER_NAME: DISCOURSE_SMTP_PASSWORD: DISCOURSE_SMTP_DOMAIN: community.openstreetmap.org + DISCOURSE_SMTP_OPEN_TIMEOUT: 30 + DISCOURSE_SMTP_READ_TIMEOUT: 30 DISCOURSE_NOTIFICATION_EMAIL: community@noreply.openstreetmap.org ## TODO: configure connectivity to the databases @@ -65,6 +68,12 @@ env: DISCOURSE_MAXMIND_LICENSE_KEY: '<%= @license_keys[node[:geoipupdate][:account]] %>' <% end -%> + # Allow list for prometheus metric collection + DISCOURSE_PROMETHEUS_TRUSTED_IP_ALLOWLIST_REGEX: '^<%= @prometheus_servers.map { |a| Regexp.escape(a) }.join("|") %>$' + + # Increase base SIDEKIQ memory limit to 1GB + UNICORN_SIDEKIQ_MAX_RSS: 1000 + volumes: - volume: host: /srv/community.openstreetmap.org/shared/web-only @@ -78,6 +87,12 @@ volumes: - volume: host: /etc/ssl/private/community.openstreetmap.org.key guest: /shared/ssl/ssl.key + - volume: + host: /etc/ssl/certs/dhparam.pem + guest: /shared/ssl/dhparam.pem + - volume: + host: /srv/community.openstreetmap.org/files/update-feeds.atom + guest: /shared/feeds/update-feeds.atom ## Plugins go here ## see https://meta.discourse.org/t/19157 for details @@ -86,22 +101,33 @@ hooks: - exec: cd: $home/plugins cmd: - - git clone --depth 1 https://github.com/discourse/discourse-oauth2-basic.git - - git clone --depth 1 https://github.com/discourse/discourse-solved.git - - git clone --depth 1 https://github.com/discourse/discourse-canned-replies.git - - git clone --depth 1 https://github.com/discourse/discourse-reactions.git - - git clone --depth 1 https://github.com/discourse/discourse-prometheus.git - - git clone --depth 1 https://github.com/discourse/discourse-translator.git + - sudo -H -E -u discourse git clone --depth 1 --branch main https://github.com/discourse/discourse-oauth2-basic.git + - sudo -H -E -u discourse git clone --depth 1 --branch main https://github.com/discourse/discourse-solved.git + - sudo -H -E -u discourse git clone --depth 1 --branch main https://github.com/discourse/discourse-reactions.git + - sudo -H -E -u discourse git clone --depth 1 --branch main https://github.com/discourse/discourse-prometheus.git + - sudo -H -E -u discourse git clone --depth 1 --branch main https://github.com/discourse/discourse-translator.git + - sudo -H -E -u discourse git clone --depth 1 --branch main https://github.com/discourse/discourse-saved-searches.git + - sudo -H -E -u discourse git clone --depth 1 --branch main https://github.com/discourse/discourse-post-voting.git + - exec: + # Needs to be copied in else builtin git cleanup fails + cd: $home + cmd: + - sudo -H -E -u discourse cp /shared/feeds/update-feeds.atom public/update-feeds.atom after_ssl: - replace: filename: "/etc/nginx/conf.d/discourse.conf" from: /listen 80;/ to: | listen 80; + listen [::]:80; rewrite ^/\.well-known/acme-challenge/(.*)$ http://acme.openstreetmap.org/.well-known/acme-challenge/$1 permanent; - replace: filename: "/etc/nginx/conf.d/discourse.conf" from: /add_header.+/ to: | - add_header Strict-Transport-Security 'max-age=63072000'; + add_header Strict-Transport-Security 'max-age=63072000' always; + ssl_stapling on; + resolver <%= node[:networking][:nameservers].join(" ") %>; + resolver_timeout 5s; + ssl_dhparam /shared/ssl/dhparam.pem;