Forgejo ist eine leichtgewichtige, von der Community betriebene Git-Plattform (ein Fork von Gitea). Wir installieren Forgejo als Docker-Container und binden ihn direkt an unser proxy-net an.


1. Verzeichnisstruktur erstellen

Wechsle in das in Schritt 2 angelegte Verzeichnis für Forgejospan_2span_2:

cd /opt/containers/forgejo

2. Docker Compose Datei erstellen

Erstelle die Konfigurationsdatei docker-compose.yml:

cat << 'EOF' > docker-compose.yml
services:
  server:
    image: codeberg.org/forgejo/forgejo:9
    container_name: forgejo
    restart: unless-stopped
    environment:
      - USER_UID=1000
      - USER_GID=1000
    volumes:
      - ./data:/var/lib/gitea
      - ./config:/etc/gitea
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - '3000:3000'   # HTTP Web-UI
      - '2222:22'     # SSH für Git
    networks:
      - proxy-net

networks:
  proxy-net:
    external: true
EOF

3. Forgejo starten

Starte den Forgejo-Container im Hintergrund:

docker compose up -d

4. Container-Status überprüfen

Prüfe, ob der Container läuft:

docker compose ps

Der Status von forgejo sollte Up bzw. running anzeigen.

5. Reverse Proxy im Nginx Proxy Manager einrichten

  1. Öffne die NPM Admin-Oberfläche (http://<DEINE-SERVER-IP>:81) im Browser:

    • Navigiere zu Hosts ➔ Proxy Hosts ➔ Add Proxy Host.
  2. Details Tab:

    • Domain Names: Deine Domain/Subdomain für Forgejo (z. B. git.deinedomain.de)

    • Scheme: http

    • Forward Hostname / IP: forgejo (Dank Docker-Netzwerk genügt der Container-Name!)

    • Forward Port: 3000

    • Aktiviere Block Common Exploits und Websockets Support.

  3. SSL Tab:

    • SSL Certificate: Request a new SSL Certificate

    • Aktiviere Force SSL und HTTP/2 Support.

    • Klicke auf Save.

6. Status-Checklist

  • [ ] Verzeichnis /opt/containers/forgejo aufgerufen.

  • [ ] docker-compose.yml erstellt.

  • [ ] Container gestartet (docker compose up -d).

  • [ ] Proxy Host im Nginx Proxy Manager angelegt.

  • [ ] Ersteinrichtung von Forgejo über die Domain aufgerufen und abgeschlossen.