ansible-role-gitea/README.md

77 lines
1.9 KiB
Markdown
Raw Normal View History

2022-12-05 12:42:06 +01:00
# Ansible Gitea Setup
Gitea Setup als Ansible-Rolle. 🎉
## TODO
- [Alle Umgebungsvariablen](https://docs.gitea.io/en-us/config-cheat-sheet/) unterstützen.
## 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 |
|----------|--------------|-------|
| `system['hostname']` | Hostname des Systems | (String) |
| `system['domain']` | Domain des Systems | (String) |
| `gitea['app_name']` | Titel für die Startseite | (String) |
Im Inventory sieht das dann in etwa so aus:
```yaml
system:
hostname: gitea
domain: int.example.com
gitea:
app_name: Beispiel Gitea Server
```
#### 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](templates/environment.env.j2) 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:
```yaml
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
```
### Nachbereitung
- Initiales Setup von Gitea via Web Gui durchführen.