Post-Tyranny-Tech-Infrastru.../ansible/roles/nextcloud/tasks/install.yml
Pieter 797d5b4e36 fix: Clear Nextcloud log after initial maintenance repairs
During initial deployment, background jobs may fail temporarily
while the system is still initializing (e.g., theming migration
looking for directories that don't exist yet).

These errors are harmless and resolve on subsequent cron runs,
but they appear in the admin panel logs causing unnecessary
concern.

Solution: Clear the log file after running maintenance repairs
to remove any transient initialization errors.

Fixes admin panel showing "2 errors in the logs" after fresh
deployment.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-08 17:45:59 +01:00

70 lines
3 KiB
YAML

---
# Automated Nextcloud installation tasks using occ commands
- name: Wait for Nextcloud container to be healthy
shell: docker exec -u www-data nextcloud php -v
register: nextcloud_health
retries: 30
delay: 10
until: nextcloud_health.rc == 0
changed_when: false
- name: Wait for Nextcloud auto-installation to complete
shell: "docker exec -u www-data nextcloud php occ status 2>&1 | grep -q 'installed: true'"
register: nextcloud_status
retries: 60
delay: 5
until: nextcloud_status.rc == 0
changed_when: false
- name: Configure trusted domains
shell: |
docker exec -u www-data nextcloud php occ config:system:set trusted_domains 0 --value="{{ nextcloud_domain }}"
- name: Configure overwrite settings for reverse proxy
shell: |
docker exec -u www-data nextcloud php occ config:system:set overwriteprotocol --value="https"
docker exec -u www-data nextcloud php occ config:system:set overwritehost --value="{{ nextcloud_domain }}"
docker exec -u www-data nextcloud php occ config:system:set overwrite.cli.url --value="https://{{ nextcloud_domain }}"
docker exec -u www-data nextcloud php occ config:system:set trusted_proxies 0 --value="172.18.0.0/16"
docker exec -u www-data nextcloud php occ config:system:set trusted_proxies 1 --value="172.19.0.0/16"
docker exec -u www-data nextcloud php occ config:system:set trusted_proxies 2 --value="172.20.0.0/16"
docker exec -u www-data nextcloud php occ config:system:set trusted_proxies 3 --value="172.21.0.0/16"
docker exec -u www-data nextcloud php occ config:system:set forwarded_for_headers 0 --value="HTTP_X_FORWARDED_FOR"
- name: Configure Redis for caching
shell: |
docker exec -u www-data nextcloud php occ config:system:set redis host --value="{{ nextcloud_redis_host }}"
docker exec -u www-data nextcloud php occ config:system:set redis port --value="{{ nextcloud_redis_port }}"
docker exec -u www-data nextcloud php occ config:system:set memcache.local --value="\OC\Memcache\Redis"
docker exec -u www-data nextcloud php occ config:system:set memcache.locking --value="\OC\Memcache\Redis"
- name: Set default phone region
shell: |
docker exec -u www-data nextcloud php occ config:system:set default_phone_region --value="NL"
- name: Run background jobs via cron
shell: |
docker exec -u www-data nextcloud php occ background:cron
- name: Add missing database indices
shell: |
docker exec -u www-data nextcloud php occ db:add-missing-indices
register: add_indices
changed_when: "'Adding' in add_indices.stdout"
failed_when: false
- name: Run expensive maintenance repairs (mimetype migrations)
shell: |
docker exec -u www-data nextcloud php occ maintenance:repair --include-expensive
register: maintenance_repair
changed_when: "'mimetype' in maintenance_repair.stdout"
failed_when: false
async: 600
poll: 10
- name: Clear any initial background job errors from log
shell: |
docker exec nextcloud truncate -s 0 /var/www/html/data/nextcloud.log
when: maintenance_repair.changed
changed_when: false