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>
70 lines
3 KiB
YAML
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
|