diff --git a/roles/noblogs/tasks/main.yml b/roles/noblogs/tasks/main.yml index ef2d9089db8a1de3f18c55acb00f2b3b41005600..e34e6cbe80648403cf207e5df99305c7fb097336 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 0000000000000000000000000000000000000000..e5d7344c3f6d4c23c00b27cfe316b97bbbdabad2 --- /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 73d4f146bd6df4385149d9f2929a29ad335d1415..b513343112e6d5c76ce552679dad35112d1eb79a 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