Anwendungen

Forgejo selbst hosten

01. September 2026 · Anwendungen · andreas · Kein Kommentar

Seit mehr als 10 Jahren ist hier für die Verwaltung der heimischen Software-Projekte Fossil im Einsatz. Da ich beruflich seit einiger Zeit git verwende, lag der Gedanke nahe, auch privat noch einmal über den Einsatz von git nachzudenken.

Eine Versionsverwaltung lässt sich natürlich auch nur auf den lokalen Client beschränkt verwenden, spielt ihre wahren Stärken aber erst zusammen mit einer Plattform wie z.B. GitHub oder Codeberg aus. Fossil hatte dies recht elegant durch einen integrierten Webserver gelöst.

Bei der Auswahl waren für mich zwei Kriterien wichtig:

  • Hosting im heimischen Netz möglich und
  • ein möglichst geringer Installations- und Wartungsaufwand.

Letztendlich soll die Plattform Arbeit abnehmen, weshalb nach Sichtung der verfügbaren Alternativen Schwergewichte wie z.B. GitLab direkt aus dem Kreis der möglichen Kandidaten gestrichen wurden. Die Wahl fiel letztendlich auf Forgejo, welches als leichtgewichtige und freie Software unter dem Dach des Codeberg e.V. entwickelt wird.

Als Installationsvariante habe ich den Weg “Installation from binary” gewählt, diesen allerdings leicht angepasst bzw. abgewandelt. Zum Betrieb reicht ein schlanker LXC-Container, der mit 1GB Ram und 2 Cores für den heimischen Bedarf fast schon überdimensioniert ist.

Falls noch nicht vorhanden, müssen auf dem zukünftigen Forgejo-System noch ein paar zusätzliche Pakete nachinstalliert werden:

# apt install gnupg2 git git-lfs

Herunterladen

Das Herunterladen und Verifizieren erfolgt gemäß der offiziellen Anleitung:

# wget https://code.forgejo.org/forgejo/forgejo/releases/download/v16.0.2/forgejo-16.0.2-linux-amd64 ... # gpg --keyserver keys.openpgp.org --recv EB114F5E6C0DC2BCDD183550A4B61A2DC5923710 ... gpg: key A4B61A2DC5923710: public key "Forgejo <contact@forgejo.org>" imported gpg: Total number processed: 1 gpg: imported: 1 # wget https://code.forgejo.org/forgejo/forgejo/releases/download/v16.0.2/forgejo-16.0.2-linux-amd64.asc ... # gpg --verify forgejo-16.0.2-linux-amd64.asc forgejo-16.0.2-linux-amd64 gpg: Signature made Thu Jul 30 22:59:44 2026 CEST gpg: using EDDSA key 3BF4E813F84812411DA01E5BC4186DF66F4B6750 gpg: Good signature from "Forgejo <contact@forgejo.org>" [unknown] gpg: aka "Forgejo Releases <release@forgejo.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: EB11 4F5E 6C0D C2BC DD18 3550 A4B6 1A2D C592 3710 Subkey fingerprint: 3BF4 E813 F848 1241 1DA0 1E5B C418 6DF6 6F4B 6750

Vorbereitung

Abweichend von der offiziellen Anleitung habe ich forgejo mitsamt Daten- und Konfigurationverzeichns komplett unter “/opt/forgejo” installiert.

# mkdir -p /opt/forgejo/bin # mkdir -p /opt/forgejo/data # adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git # chown -R git:git /opt/forgejo # chmod 750 /opt/forgejo

Auf die ausführbare Datei (Forgejo kommt als Single-Binary) habe ich einen symbolischen Link gesetzt, damit bei einem Update lediglich der Link angepasst werden muss. Auch auf eine zusätzliche Datenbank-Instanz habe ich verzichtet und verwende das integrierte SQLite.

# mv forgejo-16.0.2-linux-amd64 /opt/forgejo/bin/ # chmod +x /opt/forgejo/bin/forgejo-16.0.2-linux-amd64 # ln -s /opt/forgejo/bin/forgejo-16.0.2-linux-amd64 /opt/forgejo/bin/forgejo

Systemd-Dienst

Der Start erfolgt über einen Systemd-Dienst, hier habe ich die Pfade entsprechend angepasst.

/etc/systemd/system/forgejo.service
[Unit] Description=Forgejo (Beyond coding. We forge.) After=syslog.target After=network.target [Service] RestartSec=2s Type=notify User=git Group=git WorkingDirectory=/opt/forgejo/ ExecStart=/opt/forgejo/bin/forgejo web --config /opt/forgejo/config/app.ini Restart=always Environment=USER=git HOME=/home/git FORGEJO_WORK_DIR=/opt/forgejo [Install] WantedBy=multi-user.target

Anschließend werden die Systemd-Dateien neu eingelesen und der Dienst gestartet:

# systemctl daemon-reload # systemctl enable forgejo.service # systemctl start forgejo.service

Die weitere Konfiguration wird über die Weboberfläche erledigt, diese erreicht man über http://forgejo.internal:3000/ (oder wie auch immer der lokale Server benannt wurde).

Umstellung auf SSL, Port 443

Wer möchte, kann Forgejo auf SSL umstellen und den Standard-Port auf 443 umändern. Hierzu werden als erstes ein paar Einträge in der service-Datei ergänzt, damit der unpriviegierte git-Benutzer die Erlaubnis hat, den Dienst auf einem Port kleiner 1024 zu starten.

/etc/systemd/system/forgejo.service
... AmbientCapabilities=CAP_NET_BIND_SERVICE CapabilityBoundingSet=CAP_NET_BIND_SERVICE PrivateUsers=false ...

Zusätzlich werden in der “app.ini” noch ein paar Anpassungen für Protokoll und Port vorgenommen sowie die Zertifikate hinterlegt:

/opt/forgejo/config/app.ini
... PROTOCOL = https CERT_FILE = /opt/forgejo/config/forgejo.internal.crt KEY_FILE = /opt/forgejo/config/forgejo.internal.key ROOT_URL = https://forgejo.internal HTTP_PORT = 443 ...

Nach einem Neustart des Dienstes kann Forgejo dann über die als ROOT_URL angegebene Adresse aufgerufen werden.


"Sent items" in Thunderbird übersetzen

07. Juli 2026 · Anwendungen · andreas · Kein Kommentar

Auch wenn die Ordnernamen auf dem Server in englischer Sprache sind, so bemüht sich Thunderbird, die Standardnamen bei entsprechender Spracheinstellung mit deutschen Begriffen anzuzeigen.

Leider greift die automatische Übersetzung in “Gesendet” allerdings nur beim Ordnernamen “Sent”, ein Ordner “Sent items” wird weiterhin mit seinem originalen Namen angezeigt.

Eine hübsche Idee zur Lösung des Problems fand sich am Ende des Beitrags “Keine Lokalisierung für den Ordnernamen “Sent Items”” im deutschen Thunderbird-Forum:

Wenn man den Ordner Sent Items mit CSS selektieren könnte, könnte man mit dem Pseudoelement ::before oder ::after und der Eigenschaft content: den Ordner vielleicht umbenennen.

Kann man - und das sogar recht einfach:

userChrome.css
li[data-folder-type="sent"] span:first-of-type:after { content: "Gesendet" !important;; font-size: 1rem; } li[data-folder-type="sent"] span:first-of-type { font-size: 0; }

Danke für den Fingerzeig in die richtige Richtung!


Firefox - Contdown bis zur Weltmeisterschaft

30. Mai 2026 · Anwendungen · andreas · Kein Kommentar

Während Firefox eine der letzten Möglichkeiten ist, das Quasi-Monopol Chrome zu umgehen, gibt sich die Mozilla Foundation redlich Mühe auch die letzten treuen Benutzer zu vergraulen.

Firefox Startseite

Ein frisch installierter Firefox unter Android begrüßte mich mit einem “Countdown zur Weltmeisterschaft” auf der Startseite. Wie schön, daß wenigstens der Fuchs im Widget ein Sportgerät vor sich liegen hat, denn sonst müsste sich der sportuninteressierte Benutzer erstmal fragen, um welche Weltmeisterschaft es denn geht.

Firefox Einstellungen

Nicht nur, daß auf der Startseite das Widget angebracht wurde, in den Einstellungen wurde sogar ein extra Schalter “Weltmeisterschaft” angebracht.

Sorry, aber ein Browser sollte aus meiner Sicht eine vertrauenswürdige Anwendung sein, mit der ich möglichst sicher und performant von mir in der Adressleiste angegebene URLs besuchen kann - und eben keine Werbemaschine für (in diesem Fall Sport-) Ereignisse aller Art. So schwindet immer mehr das Gefühl, daß Mozilla eben doch was anders macht als die anderen.


Ihr Android-Gerät hat neue Funktionen

13. März 2026 · Anwendungen · andreas · Kein Kommentar

Schön, daß sich Google darüber freut, daß mein Android-Gerät neue Funktionen hat …

Ihr Android-Gerät hat neue Funktionen

…blöd nur, daß ich die neuen Funktionen weder haben noch nutzen möchte und sie trotzdem ungefragt installiert wurden.


Outlook msg-Dateien in ein lesbares Format konvertieren

20. Februar 2026 · Anwendungen · andreas · Kein Kommentar

In Outlook können einzelne Nachrichten im msg-Format abgespeichert und so z.B. auch im Dateisystem abgelegt werden. Leider stellt man spätestens beim Öffnen fest, daß die Dateien im Binärformat vorliegen und man Outlook benötigt, um die Inhalte lesen zu können.

Hier kommt das Perl-Modul “Email::Outlook::Message” ins Spiel, welches neben einer Bibliothek zur Verarbeitung der Dateien auch das Kommandozeilenprogramm “msgconvert” mitbringt, mit dessen Hilfe auch ohne Perl-Kenntnisse die von Outlook gespeicherten Dateien ins RFC822-Format gewandelt werden können.

Unter Debian wird das Paket “libemail-outlook-message-perl” installiert, dann kann mittels

$ msgconvert test.msg

eine unter dem Dateinamen “test.msg” abgelegte Nachricht konvertiert werden. Sofern keine entsprechende Option gesetzt wurde, wird der exportierbare Inhalt unter dem Quell-Dateinamen mit der Endung “.eml” gespeichert.