From b0bfe579c6de2248f751fe7e2890efb3c03710e8 Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Sat, 10 Dec 2022 19:55:21 +0000 Subject: [PATCH] Configure PHP options for noblogs in Ansible not in the container --- roles/noblogs/tasks/main.yml | 7 +++++-- roles/noblogs/templates/99-noblogs.ini.j2 | 21 +++++++++++++++++++++ services.noblogs.yml | 9 +++++++++ 3 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 roles/noblogs/templates/99-noblogs.ini.j2 diff --git a/roles/noblogs/tasks/main.yml b/roles/noblogs/tasks/main.yml index ef2d9089..e34e6cbe 100644 --- a/roles/noblogs/tasks/main.yml +++ b/roles/noblogs/tasks/main.yml @@ -8,10 +8,13 @@ - name: Install noblogs config template: - src: config.json.j2 - dest: /etc/noblogs/config.json + src: "{{ item }}.j2" + dest: "/etc/noblogs/{{ item }}" group: docker-noblogs mode: 0640 + loop: + - config.json + - 99-noblogs.ini - name: Create noblogs data directory file: diff --git a/roles/noblogs/templates/99-noblogs.ini.j2 b/roles/noblogs/templates/99-noblogs.ini.j2 new file mode 100644 index 00000000..e5d7344c --- /dev/null +++ b/roles/noblogs/templates/99-noblogs.ini.j2 @@ -0,0 +1,21 @@ +[PHP] +; Set generous memory limits. +memory_limit = 256M + +; Set upload size limits. +upload_max_filesize = 50M +post_max_size = 50M + +; Configure the session layer to use all our memcache-session +; instances, with consistent hashing. We use two copies to allow us to +; restart a memcache instance without killing all sessions. +session.cookie_secure = 1 +session.cookie_httponly = 1 +session.save_handler = memcached +session.save_path = "{% set comma = joiner(',') %}{% for h in services['noblogs'].hosts %}{{ comma() }}{{ h }}.noblogs.{{ domain }}:7208{% endfor %}" +memcached.sess_consistent_hash = 1 +memcached.sess_binary = 1 +memcached.sess_number_of_replicas = {{ [services['noblogs'].hosts | length, 2] | min }} + +; Enable the PHP opcache. +opcache.enable = 1 diff --git a/services.noblogs.yml b/services.noblogs.yml index 73d4f146..b5133431 100644 --- a/services.noblogs.yml +++ b/services.noblogs.yml @@ -9,6 +9,7 @@ noblogs: port: 8082 volumes: - /etc/noblogs: /etc/noblogs + - /etc/noblogs/99-noblogs.ini: /etc/php/7.4/fpm/conf.d/99-nooblogs.ini - /opt/noblogs/data: /opt/noblogs/www/wp-content/blogs.dir - /opt/noblogs/cache: /opt/noblogs/www/wp-content/cache - /opt/noblogs/uploads: /opt/noblogs/www/wp-content/uploads @@ -27,6 +28,14 @@ noblogs: env: MEM: 1024 PORT: 7108 + - name: memcache-sessions + image: registry.git.autistici.org/ai3/docker/memcached:master + ports: + - 7208 + - 7209 + env: + MEM: 128 + PORT: 7208 - name: poster image: registry.git.autistici.org/noblogs/noblogs-poster:master port: 7107 -- GitLab