102 Zeilen
3,6 KiB
Markdown
102 Zeilen
3,6 KiB
Markdown
Mit der Fähigkeit von Gitea, sich über SMTP zu authentifizieren, ist es trivial, es mit mailcow zu integrieren. Es sind nur wenige Änderungen erforderlich:
|
|
|
|
1\. Um eine Datenbank für Gitea zu erstellen, verbinden Sie sich mit ihrem Server und führen Sie folgende Befehle aus:
|
|
```
|
|
source mailcow.conf
|
|
docker exec -it $(docker ps -f name=mysql-mailcow -q) mysql -uroot -p${DBROOT} -e "CREATE DATABASE gitea;"
|
|
docker exec -it $(docker ps -f name=mysql-mailcow -q) mysql -uroot -p${DBROOT} -e "CREATE USER 'gitea'@'%' IDENTIFIED BY 'your_strong_password';"
|
|
docker exec -it $(docker ps -f name=mysql-mailcow -q) mysql -uroot -p${DBROOT} -e "GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'%';
|
|
```
|
|
|
|
2\. Öffnen Sie `docker-compose.override.yml` und fügen Sie Gitea hinzu:
|
|
|
|
```yaml
|
|
version: '2.1'
|
|
services:
|
|
|
|
gitea-mailcow:
|
|
image: gitea/gitea:1
|
|
volumes:
|
|
- ./data/gitea:/data
|
|
networks:
|
|
mailcow-network:
|
|
aliases:
|
|
- gitea
|
|
ports:
|
|
- "${GITEA_SSH_PORT:-127.0.0.1:4000}:22"
|
|
```
|
|
|
|
3\. Erstellen Sie `data/conf/nginx/site.gitea.custom`, fügen Sie folgendes hinzu:
|
|
```
|
|
location /gitea/ {
|
|
proxy_pass http://gitea:3000/;
|
|
}
|
|
```
|
|
|
|
4\. Öffne `mailcow.conf` und definiere den Port Bind, den Gitea für SSH verwenden soll. Beispiel:
|
|
|
|
```
|
|
GITEA_SSH_PORT=127.0.0.1:4000
|
|
```
|
|
|
|
5\. Führen Sie folgenden Befehl aus, um den Gitea-Container hochzufahren und führen Sie anschließend einen Neustart von NGINX mit dem zweiten Befehl durch:
|
|
|
|
=== "docker compose (Plugin)"
|
|
|
|
``` bash
|
|
docker compose up -d
|
|
docker compose restart nginx-mailcow
|
|
```
|
|
|
|
=== "docker-compose (Standalone)"
|
|
|
|
``` bash
|
|
docker-compose up -d
|
|
docker-compose restart nginx-mailcow
|
|
```
|
|
|
|
6\. Wenn Sie mailcow zu https gezwungen haben, führen Sie Schritt 9 aus und starten Sie gitea mit dem folgenden Befehl neu.
|
|
=== "docker compose (Plugin)"
|
|
|
|
``` bash
|
|
docker compose restart gitea-mailcow
|
|
```
|
|
|
|
=== "docker-compose (Standalone)"
|
|
|
|
``` bash
|
|
docker-compose restart gitea-mailcow
|
|
```
|
|
|
|
Fahren Sie mit Schritt 7 fort (Denken Sie daran, https anstelle von http zu verwenden, `https://mx.example.org/gitea/`)
|
|
|
|
7\. Öffnen Sie `http://${MAILCOW_HOSTNAME}/gitea/`, zum Beispiel `http://mx.example.org/gitea/`. Für Datenbank-Details setzen Sie `mysql` als Datenbank-Host. Verwenden Sie gitea als Datenbankname, gitea als Datenbankbenutzer und your_strong_password als Datenbankpasswort, welches Sie in Schritt 1 definiert haben.
|
|
|
|
8\. Sobald die Installation abgeschlossen ist, loggen Sie sich als Administrator ein und setzen Sie "Einstellungen" -> "Autorisierung" -> "SMTP aktivieren". SMTP-Host sollte `postfix` mit Port `587` sein, setzen Sie `Skip TLS Verify`, da wir ein nicht gelistetes SAN verwenden ("postfix" ist höchstwahrscheinlich nicht Teil Ihres Zertifikats).
|
|
|
|
9\. Erstellen Sie `data/gitea/gitea/conf/app.ini` und setzen Sie die folgenden Werte. Sie können [gitea cheat sheet, leider bisher nur in Englisch verfügbar](https://docs.gitea.io/en-us/config-cheat-sheet/) für deren Bedeutung und andere mögliche Werte konsultieren.
|
|
|
|
```ini
|
|
[server]
|
|
SSH_LISTEN_PORT = 22
|
|
# Für GITEA_SSH_PORT=127.0.0.1:4000 in mailcow.conf, setzen:
|
|
SSH_DOMAIN = 127.0.0.1
|
|
SSH_PORT = 4000
|
|
# Für MAILCOW_HOSTNAME=mx.example.org in mailcow.conf (und Standard-Ports für HTTPS), setzen:
|
|
ROOT_URL = https://mx.example.org/gitea/
|
|
```
|
|
|
|
10\. Starten Sie gitea neu mit dem kommenden Befehl. Ihre Nutzer sollten in der Lage sein, sich mit von mailcow verwalteten Konten anzumelden.
|
|
|
|
=== "docker compose (Plugin)"
|
|
|
|
``` bash
|
|
docker compose restart gitea-mailcow
|
|
```
|
|
|
|
=== "docker-compose (Standalone)"
|
|
|
|
``` bash
|
|
docker-compose restart gitea-mailcow
|
|
```
|
|
|