Tux's Blog

https://burningboard.net/@tux

Eigentlich ist die Idee hinter #Winboat super, aber die Umsetzung scheint noch etwas instabil zu sein. Seit der Installation Anfang des Jahres lief es zwar, aber heute hat die Software komplett den Dienst verweigert.

Das Image meldete plötzlich zu wenig RAM. Ich habe noch versucht, das irgendwie zu fixen, aber das hat das Ganze leider endgültig zerschossen. Statt weiter Zeit in die Fehlersuche zu investieren, bin ich direkt auf das Dockurr Windows Image umgestiegen – das ist ohnehin die technische Basis von Winboat.

Fehlermeldung

1. Meine Vorbereitung

Da ich Podman verwende, habe ich als Erstes die nötigen Ordner auf meinem Host-System angelegt. So gehen die Daten nicht verloren, wenn der Container mal neu erstellt werden muss:

mkdir -p $HOME/Windows/System
mkdir -p $HOME/Windows/Shared

2. Der Start-Befehl

Nicht vergessen: Ersetze in -e USERNAME und -e PASSWORD die Platzhalter durch deine eigenen Zugangsdaten.

podman run -d \
  --name windows \
  -p 8006:8006 \
  --device=/dev/kvm \
  --cap-add NET_ADMIN \
  -e RAM_SIZE="8G" \
  -e USERNAME="Carsten" \
  -e PASSWORD="1234" \
  -e LANGUAGE="German" \
  -v $HOME/Windows/System:/storage:Z \
  -v $HOME/Windows/Shared:/shared:Z \
  --stop-timeout 120 \
  dockurr/windows

Sobald der Container läuft, kannst du das neue Windows direkt über deinen Browser aufrufen:

http://127.0.0.1:8006

Laufender Container

3. Zusammenfassung

Den langen Befehl oben musste ich nur einmal ausführen. Im Alltag steuere ich mein Windows jetzt ganz entspannt über diese Kurzbefehle:

  • Starten: podman start windows
  • Stoppen: podman stop windows (oder einfach in Windows herunterfahren)
  • Status prüfen: podman ps -a

Links zum Thema: * Das verwendete Image: GitHub – dockur/windows * Die ursprüngliche App: Winboat.app * Podman: Podman

Ich habe mir einen eigenen Blog installiert — vor allem, um #NixOS besser kennenzulernen. Überraschenderweise ging das alles ziemlich unkompliziert.

WriteFreely passt dafür richtig gut: minimalistisch, schnell eingerichtet und ohne viel Ballast. Perfekt, um einfach loszulegen und nebenbei etwas zu lernen. Die Konfiguration ist angenehm übersichtlich. Ein paar Optionen gesetzt, Verzeichnis vorbereitet, Reverse Proxy davor — fertig. So sieht meine aktuelle NixOS-Config dafür aus:

{ config, pkgs, ... }:

{
  services.writefreely = {
    enable = true;
    host = "blog.burningboard.org"; 
    settings = {
      server = {
        port = 8080;
        min_log_level = "debug";
      };
      app = {
        host = "https://blog.burningboard.org";
        single_user = true;
        landing = "/read";
        wf_modesty = true;
        federation = true;
        public_stats = true;
        theme = "write";
      };
    };
    stateDir = "/opt/writefreely";
  };

  # Fix for ActivityPub key generation: federation requires openssl
  systemd.services.writefreely.path = [ pkgs.openssl ];

  # Automatically create the data directory with correct permissions
  systemd.tmpfiles.rules = [
    "d /opt/writefreely 0700 writefreely writefreely -"
  ];

  # ...


  services.caddy.virtualHosts."blog.burningboard.org".extraConfig = ''
    reverse_proxy 127.0.0.1:8080 {
      header_up Host {host}
      header_up X-Real-IP {remote_host}
      header_up X-Forwarded-For {remote_host}
      header_up X-Forwarded-Proto {scheme}
    }
  '';
}