Refactor Nextcloud configuration to use OCC script approach and add email/OIDC support
Major architectural changes: - Replace config file templating with unified OCC command script - Remove custom_apps mount overlay that caused Caddy serving issues - Implement script-based configuration for idempotency and clarity Configuration improvements: - Add email/SMTP support with master switch (nextcloud_email_enabled) - Add OIDC/SSO integration with Authentik support - Add apps installation (user_oidc, calendar, contacts) - Enable group provisioning and quota management from OIDC - Set nextcloud_oidc_unique_uid to false per Authentik docs Files removed: - nextcloud.config.php.j2 (replaced by OCC commands) - redis.config.php.j2 (replaced by OCC commands) - optimization.yml (merged into configure.yml) Files added: - configure-nextcloud.sh.j2 (single source of truth for config) - configure.yml (deploys and runs configuration script) Documentation: - Add comprehensive OIDC setup guide with Authentik integration - Document custom scope mapping and group provisioning - Add email configuration examples for common providers - Update vault variables documentation - Explain two-phase deployment approach Host configuration: - Change admin user from 'admin' to 'joakim' - Add admin email configuration
This commit is contained in:
36
roles/nextcloud/tasks/configure.yml
Normal file
36
roles/nextcloud/tasks/configure.yml
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
# =================================================================
|
||||
# Nextcloud Configuration via Script
|
||||
# =================================================================
|
||||
# Rick-Infra - Nextcloud Role
|
||||
#
|
||||
# Deploys and runs a configuration script inside the Nextcloud
|
||||
# container to set system configuration via OCC commands.
|
||||
|
||||
- name: Deploy Nextcloud configuration script
|
||||
template:
|
||||
src: configure-nextcloud.sh.j2
|
||||
dest: "{{ nextcloud_config_dir }}/configure.sh"
|
||||
mode: '0755'
|
||||
tags: [config, nextcloud-config]
|
||||
|
||||
- name: Run Nextcloud configuration script
|
||||
command: podman exec --user www-data nextcloud bash /var/www/html/config/configure.sh
|
||||
register: nc_config_result
|
||||
changed_when: false # Script output doesn't indicate changes reliably
|
||||
failed_when: nc_config_result.rc != 0
|
||||
tags: [config, nextcloud-config]
|
||||
|
||||
- name: Display configuration script output
|
||||
debug:
|
||||
msg: "{{ nc_config_result.stdout_lines }}"
|
||||
when: nc_config_result.stdout | length > 0
|
||||
tags: [config, nextcloud-config]
|
||||
|
||||
- name: Display configuration script errors
|
||||
debug:
|
||||
msg: "{{ nc_config_result.stderr_lines }}"
|
||||
when:
|
||||
- nc_config_result.stderr | length > 0
|
||||
- nc_config_result.rc != 0
|
||||
tags: [config, nextcloud-config]
|
||||
Reference in New Issue
Block a user