Add Template to deploy forgejo.
This template allows deploying a forgejo en either Scaleway or Hetzner (untested) without much knowledge about them. It DOES require knowledge about Terragrunt and ansible. A wizard of sorts is provided but it will not guarantee success without some knowledge about the underlying technology.
This commit is contained in:
parent
a9f546f92a
commit
822e42dbb8
48 changed files with 6846 additions and 2 deletions
94
ansible/roles/forgejo/tasks/main.yml
Normal file
94
ansible/roles/forgejo/tasks/main.yml
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
---
|
||||
# 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue