No description
  • Jinja 55.4%
  • Shell 44.6%
Find a file
root b191833664
Some checks are pending
/ lint (push) Successful in 3m27s
/ image (push) Successful in 24m28s
/ publish (push) Waiting to run
Pin the tested version 17.0.0 for Renovate
upstream.version in iac.json: installation, image and update get this version (iac-core v2, tools/upstream-version.sh); Renovate raises it by pull request. image.yml from the iac-core template builds and boot-tests renovate/** branches without publishing.

Tested: lint; upstream-version.sh returns the pin.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QaQ6zqex7wQFyscNqCQMUz
2026-10-18 20:52:50 +02:00
.forgejo/workflows Pin the tested version 17.0.0 for Renovate 2026-10-18 20:52:50 +02:00
.vibe Add Forgejo app 2026-10-18 17:29:38 +02:00
files Add Forgejo app 2026-10-18 17:29:38 +02:00
handlers Add Forgejo app 2026-10-18 17:29:38 +02:00
tasks Add Forgejo app 2026-10-18 17:29:38 +02:00
templates Add Forgejo app 2026-10-18 17:29:38 +02:00
tests Add Forgejo app 2026-10-18 17:29:38 +02:00
.clinerules Add Forgejo app 2026-10-18 17:29:38 +02:00
.cursorrules Add Forgejo app 2026-10-18 17:29:38 +02:00
.windsurfrules Add Forgejo app 2026-10-18 17:29:38 +02:00
AGENTS.md Add Forgejo app 2026-10-18 17:29:38 +02:00
CHANGELOG.md Pin the tested version 17.0.0 for Renovate 2026-10-18 20:52:50 +02:00
CLAUDE.md Add Forgejo app 2026-10-18 17:29:38 +02:00
GEMINI.md Add Forgejo app 2026-10-18 17:29:38 +02:00
iac.json Pin the tested version 17.0.0 for Renovate 2026-10-18 20:52:50 +02:00
README.md Add Forgejo app 2026-10-18 17:29:38 +02:00

iac-forgejo

Forgejo – Git-Hosting mit Issues, Pull Requests, Paketen und Forgejo Actions – als LXC oder VM auf Proxmox VE (Debian 13). Teil von iac – Konzept: iac-core/docs/CONCEPT.md.

Installation (auf der Proxmox-Node)

bash -c "$(curl -fsSL https://iac.heyer.systems/forgejo/ct.sh)"   # LXC
bash -c "$(curl -fsSL https://iac.heyer.systems/forgejo/vm.sh)"   # VM

Ohne Dialog: IAC_NONINTERACTIVE=1 und var_*-Variablen – am einfachsten mit dem Generator auf https://iac.heyer.systems/apps/forgejo/.

Erster Login

Web-Oberfläche: http://<IP>:3000/, Benutzer forgejo-admin (admin ist in Forgejo reserviert), das Passwort wird pro Instanz erzeugt – im Gast:

grep forgejo_admin_password /etc/iac/settings.env

Der Benutzer wird nur angelegt, solange Forgejo gar keinen Admin hat; ein geändertes Passwort oder eigene Admins fasst iac nie an. Die Selbstregistrierung ist abgeschaltet – weitere Konten legt ein Admin unter Website-Administration → Benutzerkonten an (oder DISABLE_REGISTRATION in app.ini ändern).

Ports

Port Inhalt Erreichbar
3000/tcp Web-Oberfläche, API, Git über HTTP alle
2222/tcp Git über SSH (eingebauter SSH-Server von Forgejo, Benutzer git) alle
22/tcp SSH des Gasts für root (nur Schlüssel) wie jeder iac-Gast

Clone-URLs: http://<IP>:3000/<owner>/<repo>.git und ssh://git@<IP>:2222/<owner>/<repo>.git. TLS macht ein Proxy davor (z. B. iac-traefik).

Konfiguration und Daten

Pfad Inhalt
/etc/forgejo/app.ini Konfiguration – bei der ersten Installation mit den Secrets der Instanz geschrieben, danach gehört sie dir: iac überschreibt sie nie. Nach Änderungen: systemctl restart forgejo
/var/lib/forgejo/repositories Git-Repositories
/var/lib/forgejo/data LFS, Pakete, Anhänge, Avatare, Actions-Logs, SSH-Host-Keys
/var/lib/forgejo/backup forgejo dump vor dem letzten Major-Update
PostgreSQL, Datenbank forgejo Benutzer, Issues, Pull Requests, … (Modul postgresql)

ROOT_URL und DOMAIN stehen auf der IP des Gasts bei der ersten Installation. Hinter einem Proxy oder mit eigenem Namen in [server] von app.ini anpassen, z. B. ROOT_URL = https://git.example.org/, DOMAIN und SSH_DOMAIN = git.example.org.

Mail ist aus ([mailer]), ein Runner für Forgejo Actions ist nicht dabei.

Update (im Gast)

update

Das aktualisiert Debian-Pakete und Forgejo auf das neueste Release von Codeberg (Checksumme aus dem Release) – auch auf eine neue Major-Version: Forgejo migriert seine Datenbank beim Start selbst. Vor einem Major-Wechsel schreibt iac forgejo dump nach /var/lib/forgejo/backup (nur der letzte Dump bleibt). Zurück auf die alte Major-Version geht nur mit diesem Dump – vorher die Release Notes lesen.

Selbsttest (im Gast)

bash /var/lib/iac/src/core/bin/iac-smoke

Prüft zusätzlich zu Dienst, Health-Check und Ports: API-Version, Datenbank, SSH-Server auf 2222, Benutzer git und dass ein Admin existiert.