--- # Main tasks for Forgejo deployment - name: Include system preparation tasks ansible.builtin.include_tasks: prepare.yml tags: - prepare - system - name: Include Tailscale VPN setup tasks ansible.builtin.include_tasks: tailscale.yml when: forgejo_enable_tailscale | bool tags: - tailscale - security - vpn - name: Include volume setup tasks ansible.builtin.include_tasks: volume.yml when: forgejo_use_external_volume | bool tags: - volume - storage - name: Include Docker installation tasks ansible.builtin.include_tasks: docker.yml tags: - docker - install - name: Include PostgreSQL setup tasks ansible.builtin.include_tasks: postgres.yml when: forgejo_db_type == 'postgres' tags: - postgres - database - name: Include Redis setup tasks ansible.builtin.include_tasks: redis.yml when: forgejo_use_redis | bool tags: - redis - cache # Ensure PostgreSQL is restarted with new config before Forgejo connects - name: Flush handlers before starting Forgejo ansible.builtin.meta: flush_handlers - name: Include Forgejo configuration tasks ansible.builtin.include_tasks: forgejo.yml tags: - forgejo - config - name: Include Caddy setup tasks ansible.builtin.include_tasks: caddy.yml tags: - caddy - webserver - name: Include SSL certificate tasks ansible.builtin.include_tasks: ssl.yml when: forgejo_enable_letsencrypt | bool tags: - ssl - certificates - name: Include backup configuration tasks ansible.builtin.include_tasks: backup.yml when: forgejo_enable_backups | bool tags: - backup - name: Include restore tasks ansible.builtin.include_tasks: restore.yml when: forgejo_restore_from_backup | bool tags: - restore - never # Only run when explicitly requested - name: Include monitoring setup tasks ansible.builtin.include_tasks: monitoring.yml when: forgejo_enable_prometheus | bool tags: - monitoring - prometheus - name: Include UFW firewall configuration tasks ansible.builtin.include_tasks: ufw.yml when: forgejo_enable_ufw | bool tags: - ufw - firewall - security