]> git.openstreetmap.org Git - chef.git/blob - cookbooks/community/templates/default/data.yml.erb
community: Increase postgres connections, tweak mem and buffers
[chef.git] / cookbooks / community / templates / default / data.yml.erb
1 # A container for all things Data, be sure to set a secret password for
2 # discourse account, SOME_SECRET is just an example
3 #
4
5 templates:
6   - "templates/postgres.13.template.yml" # NOTE UPDATE THE HOOK REPLACE FOR MAX CONNECTIONS BELOW
7   - "templates/redis.template.yml"
8
9 # any extra arguments for Docker?
10 # docker_args:
11
12 params:
13   ## Set db_shared_buffers to a max of 25% of the total memory.
14   ## will be set automatically by bootstrap based on detected RAM, or you can override
15   db_shared_buffers: "8192MB"
16
17   ## can improve sorting performance, but adds memory usage per-connection
18   db_work_mem: "40MB"
19   db_max_connections: "200"
20
21 env:
22   # ensure locale exists in container, you may need to install it
23   LC_ALL: en_US.UTF-8
24   LANG: en_US.UTF-8
25   LANGUAGE: en_US.UTF-8
26
27 volumes:
28   - volume:
29         host: /srv/community.openstreetmap.org/shared/data
30         guest: /shared
31   - volume:
32         host: /srv/community.openstreetmap.org/shared/data/log/var-log
33         guest: /var/log
34
35 # TODO: SOME_SECRET to a password for the discourse user
36 hooks:
37   after_postgres:
38     - exec:
39         stdin: |
40           alter user discourse with password '<%= @passwords["database"] %>';
41         cmd: su - postgres -c 'psql discourse'
42
43         raise_on_fail: false
44     - file:
45         path: /var/spool/cron/crontabs/postgres
46         contents: |
47           # m h  dom mon dow   command
48           # MAILTO=?
49           0 4 * * * /var/lib/postgresql/take-database-backup
50
51 run:
52   # Make sure this matches the postgresql version template above
53   - replace:
54       filename: "/etc/postgresql/13/main/postgresql.conf"
55       from: /#?max_connections *=.*/
56       to: "max_connections = $db_max_connections"