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
37 lines
1.2 KiB
YAML
37 lines
1.2 KiB
YAML
---
|
|
# =================================================================
|
|
# 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]
|