diff --git a/roles/docker/defaults/main.yml b/roles/docker/defaults/main.yml index ed73752..9d0a7c2 100644 --- a/roles/docker/defaults/main.yml +++ b/roles/docker/defaults/main.yml @@ -228,6 +228,8 @@ services: redis_version: 7.4.2-alpine mongodb_version: 7-jammy allowed_sender_domain: true + nodebb_port_begin: 4567 + nodebb_processes: 8 ### Uptime monitoring ### uptime_kuma: diff --git a/roles/docker/templates/fedi_dk_nodebb/config.json.j2 b/roles/docker/templates/fedi_dk_nodebb/config.json.j2 index 3560a0d..e7e833f 100644 --- a/roles/docker/templates/fedi_dk_nodebb/config.json.j2 +++ b/roles/docker/templates/fedi_dk_nodebb/config.json.j2 @@ -2,7 +2,10 @@ "url": "https://{{ services.fedi_dk_nodebb.domain }}", "secret": "{{ fedi_dk_nodebb_secrets.secret_value }}", "database": "mongo", - "port": ["4567", "4568", "4569", "4570"], + "port": [{% for port in range(services.fedi_dk_nodebb.nodebb_port_begin, + services.fedi_dk_nodebb.nodebb_port_begin + services.fedi_dk_nodebb.nodebb_processes) + %}{{ port }}{% if not loop.last %}, {% endif %}{% endfor %}] + ["4567", "4568", "4569", "4570"], "mongo": { "host": "mongodb", "port": "27017", @@ -16,4 +19,4 @@ "port": "6379", "database": 0 } -} \ No newline at end of file +} diff --git a/roles/docker/templates/fedi_dk_nodebb/nginx/http.conf.j2 b/roles/docker/templates/fedi_dk_nodebb/nginx/http.conf.j2 index ce4338b..c927e6f 100644 --- a/roles/docker/templates/fedi_dk_nodebb/nginx/http.conf.j2 +++ b/roles/docker/templates/fedi_dk_nodebb/nginx/http.conf.j2 @@ -6,11 +6,11 @@ map $http_upgrade $connection_upgrade { } upstream workers { - ip_hash; - server app.nodebb:4567; - server app.nodebb:4568; - server app.nodebb:4569; - server app.nodebb:4570; + hash $http_x_real_ip; + {% for port in range(services.fedi_dk_nodebb.nodebb_port_begin, + services.fedi_dk_nodebb.nodebb_port_begin + services.fedi_dk_nodebb.nodebb_processes) %} + server app.nodebb:{{ port }}; + {% endfor %} } server { @@ -47,4 +47,4 @@ server { location / { proxy_pass $upstream; } -} \ No newline at end of file +}