87 Zeilen
3,1 KiB
Markdown
87 Zeilen
3,1 KiB
Markdown
Mit Gogs' Fähigkeit, sich über SMTP zu authentifizieren, ist es einfach, es mit mailcow zu verbinden. Es sind nur wenige Änderungen erforderlich:
|
|
|
|
1\. Um eine Datenbank für Gogs 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 gogs;"
|
|
docker exec -it $(docker ps -f name=mysql-mailcow -q) mysql -uroot -p${DBROOT} -e "CREATE USER 'gogs'@'%' IDENTIFIED BY 'your_strong_password';"
|
|
docker exec -it $(docker ps -f name=mysql-mailcow -q) mysql -uroot -p${DBROOT} -e "GRANT ALL PRIVILEGES ON gogs.* TO 'gogs'@'%';
|
|
```
|
|
|
|
2\. Öffne `docker-compose.override.yml` und füge Gogs hinzu:
|
|
|
|
```yaml
|
|
version: '2.1'
|
|
services:
|
|
|
|
gogs-mailcow:
|
|
image: gogs/gogs
|
|
volumes:
|
|
- ./data/gogs:/data
|
|
networks:
|
|
mailcow-network:
|
|
aliases:
|
|
- gogs
|
|
ports:
|
|
- "${GOGS_SSH_PORT:-127.0.0.1:4000}:22"
|
|
```
|
|
|
|
3\. Erstelle `data/conf/nginx/site.gogs.custom`, füge hinzu:
|
|
```
|
|
location /gogs/ {
|
|
proxy_pass http://gogs:3000/;
|
|
}
|
|
```
|
|
|
|
4\. Öffne `mailcow.conf` und definiere die Bindung, die Gogs für SSH verwenden soll. Beispiel:
|
|
|
|
```
|
|
GOGS_SSH_PORT=127.0.0.1:4000
|
|
```
|
|
|
|
5\. Führen Sie folgenden Befehl aus, um den Gogs-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\. Öffnen Sie `http://${MAILCOW_HOSTNAME}/gogs/`, zum Beispiel `http://mx.example.org/gogs/`. Für Datenbank-Details setzen Sie `mysql` als Datenbank-Host. Verwenden Sie gogs als Datenbankname, gogs als Datenbankbenutzer und your_strong_password als Datenbankpasswort, welches Sie in Schritt 1 definiert haben.
|
|
|
|
7\. 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).
|
|
|
|
8\. Erstellen Sie `data/gogs/gogs/conf/app.ini` und setzen Sie die folgenden Werte. Sie können [Gogs cheat sheet](https://gogs.io/docs/advanced/configuration_cheat_sheet) für ihre Bedeutung und andere mögliche Werte konsultieren.
|
|
|
|
```ini
|
|
[server]
|
|
SSH_LISTEN_PORT = 22
|
|
# Für GOGS_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/gogs/
|
|
```
|
|
|
|
9\. Starten Sie Gogs 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 gogs-mailcow
|
|
```
|
|
|
|
=== "docker-compose (Standalone)"
|
|
|
|
``` bash
|
|
docker-compose restart gogs-mailcow
|
|
```
|
|
|