# A container for all things Data, be sure to set a secret password for # discourse account, SOME_SECRET is just an example # templates: - "templates/postgres.13.template.yml" # NOTE UPDATE THE HOOK REPLACE FOR MAX CONNECTIONS BELOW - "templates/redis.template.yml" # any extra arguments for Docker? # docker_args: params: ## Set db_shared_buffers to a max of 25% of the total memory. ## will be set automatically by bootstrap based on detected RAM, or you can override db_shared_buffers: "8192MB" ## can improve sorting performance, but adds memory usage per-connection db_work_mem: "40MB" db_max_connections: "200" env: # ensure locale exists in container, you may need to install it LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 LANGUAGE: en_US.UTF-8 volumes: - volume: host: /srv/community.openstreetmap.org/shared/data guest: /shared - volume: host: /srv/community.openstreetmap.org/shared/data/log/var-log guest: /var/log # TODO: SOME_SECRET to a password for the discourse user hooks: after_postgres: - exec: stdin: | alter user discourse with password '<%= @passwords["database"] %>'; cmd: su - postgres -c 'psql discourse' raise_on_fail: false - file: path: /var/spool/cron/crontabs/postgres contents: | # m h dom mon dow command # MAILTO=? 0 4 * * * /var/lib/postgresql/take-database-backup run: # Make sure this matches the postgresql version template above - replace: filename: "/etc/postgresql/13/main/postgresql.conf" from: /#?max_connections *=.*/ to: "max_connections = $db_max_connections"