old-school zugreifbar machen đź”—
Syncthing einrichten đź”—
old-school wird via Syncthing zwischen Geräten, auf denen es editiert werden können soll
'verteilt' - verändert ein Teilnehmer eine Datei innerhalb eines Blog-Ordners, werden diese
Änderungen untereinander synchronisiert und auf dem om-office.de-Server verfügbar gemacht.
Damit man mitmachen kann, braucht man ersteinmal Syncthing
Installation unter Android đź”—
-
- Download/Install via F-Droid
- Geräte via IDs registrieren
- Folder teilen
-
- Download/Install via F-Droid
Installation unter NixOS đź”—
Syncthing installieren, entweder durch hinzufĂĽgen in /etc/nixos/configuration.nix:
environment.systemPackages = with pkgs; [
vim
..
..
syncthing
];
Änderungen anwenden
sudo nixos-rebuild switch
oder
nix profile install nixpkgs#syncthing
Das hat bei mir funktioniert, aber erst nachdem ich in /etc/nixos/configuration.nix
folgende Zeile eingefĂĽgt hatte (in den groĂźen {}-Block):
nix.settings.experimental-features = [ "nix-command" "flakes" ];
AnschlieĂźend muss noch der syncthing-Service eingerichtet und gestartet werden:
# aktivieren (-> beim Booten automatisch starten)
[me@nixos:~]$ systemctl --user enable syncthing.service
Created symlink '/home/me/.config/systemd/user/default.target.wants/syncthing.service' → '/home/me/.nix-profile/share/systemd/user/syncthing.service'.
# starten (weil wir jetzt nicht extra booten wollen)
[me@nixos:~]$ systemctl --user start syncthing.service
# check: sollte 'active (running)' sein
[me@nixos:~]$ systemctl --user status syncthing.service
â—Ź syncthing.service - Syncthing - Open Source Continuous File Synchronization
Loaded: loaded (/home/me/.nix-profile/share/systemd/user/syncthing.service; enabled; preset: ignored)
Active: active (running) since Wed 2025-04-09 12:23:58 CEST; 5s ago
Invocation: 78e2904cf7da451680ac7defd3bcf51b
Docs: man:syncthing(1)
Main PID: 32134 (syncthing)
Tasks: 21 (limit: 38135)
Memory: 24.9M (peak: 25.5M)
CPU: 588ms
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/syncthing.service
├─32134 /nix/store/pia7hvxmpnszf59b5l1gfmzmyclpvazm-syncthing-1.29.3/bin/syncthing serve --no-browser --no-restart --logflags=0
└─32144 /nix/store/pia7hvxmpnszf59b5l1gfmzmyclpvazm-syncthing-1.29.3/bin/syncthing serve --no-browser --no-restart --logflags=0
Apr 09 12:23:58 nixos syncthing[32134]: [S42FQ] INFO: Using discovery mechanism: IPv6 local multicast discovery on address [ff12::8384]:21027
Apr 09 12:23:58 nixos syncthing[32134]: 2025/04/09 12:23:58 failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 7168 kiB, got: 416 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details.
Apr 09 12:23:58 nixos syncthing[32134]: [S42FQ] INFO: Relay listener (dynamic+https://relays.syncthing.net/endpoint) starting
Apr 09 12:23:58 nixos syncthing[32134]: [S42FQ] INFO: TCP listener ([::]:22000) starting
Apr 09 12:23:58 nixos syncthing[32134]: [S42FQ] INFO: QUIC listener ([::]:22000) starting
Apr 09 12:23:58 nixos syncthing[32134]: [S42FQ] INFO: GUI and API listening on 127.0.0.1:8384
Apr 09 12:23:58 nixos syncthing[32134]: [S42FQ] INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
Apr 09 12:23:58 nixos syncthing[32134]: [S42FQ] INFO: My name is "nixos"
Apr 09 12:23:58 nixos syncthing[32134]: [S42FQ] INFO: Ready to synchronize "Default Folder" (default) (sendreceive)
Apr 09 12:23:58 nixos syncthing[32134]: [S42FQ] INFO: Completed initial scan of sendreceive folder "Default Folder" (default)
Hat das funktioniert, ist lokal nun die Syncthing-GUI verfĂĽgbar: http://localhost:8384/
Syncthing konfigurieren đź”—
- remove default folder
- optional set password
- optional passphrase kopieren
- default folder
- copy device ID
Device-IDs bekanntmachen đź”—
Alle Geräte, die untereinander Ordner teilen sollen müssen sich 'kennen'. In Syncthing bedeutet das, dass die device-IDs untereinander bekannt gemacht werden.
Ordner-Struktur đź”—
[me@nixos:~/_SHARED]$ tree
.
└── old_frans
├── halde.md
└── old-school
├── setup.md # diese Datei
├── nixos.md # ein paar NixOS-Mitschriften
├── old-school.json # blog-setup
├── old-school_template.html # das html-template für jede Seite
├── index.html # Generator für den toplevel-Index
└── fix-style.css # Style-Sheet
Normalerweise reicht es, Bloginhalte in den .md-Dateien anzupassen und die Dateien zu speichern.
Sie werden dann automatisch synchronisiert und der Blog angepasst.
Soll hingegen etwas am Aussehen oder der Blog-Struktur verändert werden, können auch
old-school.json, old-school_template.html, index.html, und fix-style.css verändert werden.
Den Blog lokal laufen lassen đź”—
Um Auswirkungen auf Änderungen schneller sehen zu können, und um auf Fehlermeldungen reagieren zu können, kann es helfen, die Blog-Software lokal in einem Terminal auszuführen.
Wenn ich mal Lust dazu habe, erkläre ich das hier.