Marius Alwan Meyer
af023c0487
Some checks failed
ansible-lint / Ansible Lint (push) Failing after 12s
|
||
---|---|---|
.gitea/workflows | ||
tasks | ||
templates | ||
vars | ||
README.md |
Ansible Gitea Setup
Gitea Setup als Ansible-Rolle. 🎉
TODO
- Alle Umgebungsvariablen unterstützen.
- Alle Datenbanken unterstützen oder eine bestimmet Datenbank unterstützen
- von mysql zu mariadb migrieren?
Manuelle Schritte
Das alles muss man selber machen. ⬇️
Vorbereitung
- Einen Reverse-Proxy einrichten
Benötigte Variablen
Damit die Rolle funktioniert muss eine Reihe an Variablen für alle Hosts bereitgestellt werden.
Variable | Beschreibung | Werte |
---|---|---|
gitea['hostname'] |
Gitea Hostname | (String) |
gitea['domain'] |
Gitea Domain | (String) |
gitea['app_name'] |
Titel für die Startseite | (String) |
gitea['database']['db_type'] |
Datenbanktyp (nur "mysql" unterstützt) | (String) |
gitea['database']['docker_image_tag'] |
Docker-Image Tag |
Im Inventory sieht das dann in etwa so aus:
gitea:
app_name: Beispiel Gitea Server
hostname: gitea
domain: int.example.com
Optionale Variablen
Gitea hat sehr viele Optionen, die per Umgabungsvariablen gesetzt werden. Einige davon werden von dieser Rolle unterstützt. Welche Variablen genau unterstützt werden, kann man in diesem Template sehen.
Eine Besonderheit: Booleans der Gitea Konfiguration müssen als String angegeben werden, da sich Ansibles Boolean-Format von der Gitea Config unterscheidet.
Hier eine Beispielkonfiguration:
system:
hostname: example-gitea
domain: int.example.com
gitea:
version: 1.17.3
app_name: Beispiel Gitea
service:
disable_registration: "false"
require_signin_view: "true"
register_email_confirm: "false"
default_keep_email_private: "false"
default_allow_create_organization: "true"
default_enable_timetracking: "true"
repository:
enable_push_create_user: "true"
enable_push_create_org: "true"
default_push_create_private: "false"
attachment:
enabled: "true"
max_files: 5
max_size: 10
ssh:
minimum_key_sizes:
dsa: -1 # Disable DSA
rsa: -1 # Disable RSA
Für die Definition des Datenbankpassworts werden zusätzlich noch die Variablen db_secret
und db_root_secret
aus dem Vault benötigt. Hier ein Beispiel-Vault, um die Struktur klar zu machen:
vault:
example-gitea:
ansible_become_pass: bgnafeuginae
gitea:
db_secret: riasneudfgisn
db_root_secret: uiqfageksfhgfhgsk
Nachbereitung
- Initiales Setup von Gitea via Web Gui durchführen.