add keydb, fix some minor issues
This commit is contained in:
parent
7ac004b5d8
commit
4aa19f74a2
13 changed files with 2180 additions and 11 deletions
|
@ -33,6 +33,7 @@ license:
|
||||||
tags:
|
tags:
|
||||||
- nextcloud
|
- nextcloud
|
||||||
- php
|
- php
|
||||||
|
- keydb
|
||||||
|
|
||||||
# Collections that this collection requires to be installed for it to be usable. The key of the dict is the
|
# Collections that this collection requires to be installed for it to be usable. The key of the dict is the
|
||||||
# collection label 'namespace.name'. The value is a version range
|
# collection label 'namespace.name'. The value is a version range
|
||||||
|
|
13
playbooks/nextcloud_stack.yml
Normal file
13
playbooks/nextcloud_stack.yml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- hosts: all
|
||||||
|
roles:
|
||||||
|
- s3lph.nextcloud.keydb
|
||||||
|
- s3lph.nextcloud.php
|
||||||
|
- s3lph.webserver.apache2
|
||||||
|
- s3lph.webserver.certbot
|
||||||
|
|
||||||
|
- hosts: all
|
||||||
|
roles:
|
||||||
|
- s3lph.webserver.apache2
|
||||||
|
- s3lph.nextcloud.nextcloud
|
3
roles/keydb/defaults/main.yml
Normal file
3
roles/keydb/defaults/main.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
php_version: "8.1"
|
16
roles/keydb/handlers/main.yml
Normal file
16
roles/keydb/handlers/main.yml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: restart keydb
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: keydb-server
|
||||||
|
state: restarted
|
||||||
|
|
||||||
|
- name: restart php-fpm
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: "php{{ php_version }}-fpm.service"
|
||||||
|
state: restarted
|
||||||
|
|
||||||
|
- name: restart apache2
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: apache2
|
||||||
|
state: restarted
|
20
roles/keydb/tasks/config.yml
Normal file
20
roles/keydb/tasks/config.yml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: Render KeyDB configuration
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: etc/keydb/keydb.conf.j2
|
||||||
|
dest: /etc/keydb/keydb.conf
|
||||||
|
owner: keydb
|
||||||
|
group: keydb
|
||||||
|
mode: 0640
|
||||||
|
notify:
|
||||||
|
- restart keydb
|
||||||
|
|
||||||
|
- name: Add www-data to keydb group
|
||||||
|
ansible.builtin.user:
|
||||||
|
name: www-data
|
||||||
|
groups: [keydb]
|
||||||
|
append: true
|
||||||
|
notify:
|
||||||
|
- restart php-fpm
|
||||||
|
- restart apache2
|
24
roles/keydb/tasks/install.yml
Normal file
24
roles/keydb/tasks/install.yml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: Add KeyDB repository key
|
||||||
|
ansible.builtin.apt_key:
|
||||||
|
url: https://download.keydb.dev/open-source-dist/keyring.gpg
|
||||||
|
keyring: /etc/apt/trusted.gpg.d/download.keydb.dev.gpg
|
||||||
|
|
||||||
|
- name: Add KeyDB repository
|
||||||
|
ansible.builtin.apt_repository:
|
||||||
|
filename: download.keydb.dev.list
|
||||||
|
repo: "deb https://download.keydb.dev/open-source-dist {{ ansible_facts.distribution_release }} main"
|
||||||
|
|
||||||
|
- name: Install KeyDB
|
||||||
|
ansible.builtin.apt:
|
||||||
|
name:
|
||||||
|
- keydb
|
||||||
|
- keydb-server
|
||||||
|
- keydb-tools
|
||||||
|
|
||||||
|
- name: Start and enable KeyDB
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: keydb-server
|
||||||
|
state: started
|
||||||
|
enabled: true
|
11
roles/keydb/tasks/main.yml
Normal file
11
roles/keydb/tasks/main.yml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- ansible.builtin.import_tasks: install.yml
|
||||||
|
tags:
|
||||||
|
- "role::keydb"
|
||||||
|
- "role::keydb:install"
|
||||||
|
|
||||||
|
- ansible.builtin.import_tasks: config.yml
|
||||||
|
tags:
|
||||||
|
- "role::keydb"
|
||||||
|
- "role::keydb:config"
|
2067
roles/keydb/templates/etc/keydb/keydb.conf.j2
Normal file
2067
roles/keydb/templates/etc/keydb/keydb.conf.j2
Normal file
File diff suppressed because it is too large
Load diff
|
@ -6,9 +6,10 @@ nextcloud_trusted_domains:
|
||||||
- "cloud.example.org"
|
- "cloud.example.org"
|
||||||
nextcloud_cli_baseurl: "https://{{ nextcloud_trusted_domains[0] }}"
|
nextcloud_cli_baseurl: "https://{{ nextcloud_trusted_domains[0] }}"
|
||||||
|
|
||||||
nextcloud_redis_host: localhost
|
nextcloud_redis_host: /run/keydb/keydb.sock
|
||||||
nextcloud_redis_port: 6379
|
nextcloud_redis_port: 0
|
||||||
nextcloud_redis_dbindex: 0
|
nextcloud_redis_dbindex: 0
|
||||||
|
nextcloud_redis_timeout: 0.0
|
||||||
|
|
||||||
nextcloud_db_engine: mysql
|
nextcloud_db_engine: mysql
|
||||||
nextcloud_db_host: localhost
|
nextcloud_db_host: localhost
|
||||||
|
|
16
roles/nextcloud/handlers/main.yml
Normal file
16
roles/nextcloud/handlers/main.yml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: restart php-fpm
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: "php{{ php_version}}-fpm.service"
|
||||||
|
state: restarted
|
||||||
|
|
||||||
|
- name: restart apache2
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: apache2
|
||||||
|
state: restarted
|
||||||
|
|
||||||
|
- name: restart redis
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: redis-server
|
||||||
|
state: restarted
|
|
@ -14,11 +14,6 @@
|
||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
name: apache2
|
name: apache2
|
||||||
|
|
||||||
- name: Install redis-server if using localhost
|
|
||||||
ansible.builtin.apt:
|
|
||||||
name: redis-server
|
|
||||||
when: "nextcloud_redis_host == 'localhost'"
|
|
||||||
|
|
||||||
- name: Install Nextcloud package
|
- name: Install Nextcloud package
|
||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
name: "nextcloud-{{ nextcloud_major_version }}"
|
name: "nextcloud-{{ nextcloud_major_version }}"
|
||||||
|
@ -53,7 +48,7 @@
|
||||||
community.mysql.mysql_db:
|
community.mysql.mysql_db:
|
||||||
name: '{{ nextcloud_db_name }}'
|
name: '{{ nextcloud_db_name }}'
|
||||||
login_unix_socket: /run/mysqld/mysqld.sock
|
login_unix_socket: /run/mysqld/mysqld.sock
|
||||||
check_implicit_admin: yes
|
check_implicit_admin: true
|
||||||
|
|
||||||
- name: Create nextcloud database user
|
- name: Create nextcloud database user
|
||||||
community.mysql.mysql_user:
|
community.mysql.mysql_user:
|
||||||
|
@ -62,7 +57,7 @@
|
||||||
password: "{{ nextcloud_db_pass }}"
|
password: "{{ nextcloud_db_pass }}"
|
||||||
priv: "{{ nextcloud_db_name }}.*:ALL" # grant all privileges (no grant)
|
priv: "{{ nextcloud_db_name }}.*:ALL" # grant all privileges (no grant)
|
||||||
login_unix_socket: /run/mysqld/mysqld.sock
|
login_unix_socket: /run/mysqld/mysqld.sock
|
||||||
check_implicit_admin: yes
|
check_implicit_admin: true
|
||||||
|
|
||||||
- name: Perform Nextcloud first-time setup
|
- name: Perform Nextcloud first-time setup
|
||||||
become: true
|
become: true
|
||||||
|
@ -101,9 +96,11 @@
|
||||||
host: "{{ nextcloud_redis_host }}"
|
host: "{{ nextcloud_redis_host }}"
|
||||||
port: "{{ nextcloud_redis_port }}"
|
port: "{{ nextcloud_redis_port }}"
|
||||||
dbindex: "{{ nextcloud_redis_dbindex }}"
|
dbindex: "{{ nextcloud_redis_dbindex }}"
|
||||||
|
timeout: "{{ nextcloud_redis_timeout }}"
|
||||||
memcache.local: '\OC\Memcache\Redis'
|
memcache.local: '\OC\Memcache\Redis'
|
||||||
memcache.distributed: '\OC\Memcache\Redis'
|
memcache.distributed: '\OC\Memcache\Redis'
|
||||||
memcache.locking: '\OC\Memcache\Redis'
|
memcache.locking: '\OC\Memcache\Redis'
|
||||||
|
mysql.utf8mb4: true
|
||||||
|
|
||||||
- name: Install Nextcloud app packages
|
- name: Install Nextcloud app packages
|
||||||
become: true
|
become: true
|
||||||
|
|
|
@ -5,7 +5,7 @@ php_version: "8.1"
|
||||||
php_ini:
|
php_ini:
|
||||||
PHP:
|
PHP:
|
||||||
memory_limit: "512M"
|
memory_limit: "512M"
|
||||||
upload_max_filesize: "1G"
|
upload_max_filesize: "2G"
|
||||||
opcache:
|
opcache:
|
||||||
opcache.enable: "1"
|
opcache.enable: "1"
|
||||||
opcache.memory_consumption: "256"
|
opcache.memory_consumption: "256"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
- name: restart php-fpm
|
- name: restart php-fpm
|
||||||
ansible.builtin.service:
|
ansible.builtin.service:
|
||||||
name: "php{{ php_version}}-fpm.service"
|
name: "php{{ php_version }}-fpm.service"
|
||||||
state: restarted
|
state: restarted
|
||||||
|
|
||||||
- name: restart apache2
|
- name: restart apache2
|
||||||
|
|
Loading…
Reference in a new issue