Snac2

Ich bin im Fediverse. Schon ewig. Und ich steh drauf meinen eigenen Kram zu machen. Angefangen hatte damals alles mit einem eigenen Friendica Server, danach hab ich alles mögliche ausprobiert, bin parallel schnell bei Hubzilla gelandet und damit immer noch mehr als zufrieden. Hubzilla kann mehr als nur Fediverse, es ist ein mächtiges CMS, es ist "mein Büro". Und manchmal ist es eben ganz einfach ein wenig zu mächtig :-)

Ich wollte gerne für "die schnelle Kommunikation" etwas schlankes, unkompliziertes, etwas einfaches. Und wieder über ein paar Umwege bin ich zufällig auf Snac2 gekommen. Und war sehr schnell sehr angetan, alles was auf dem ersten Blick etwas unkomfortabel wirkt, ist auf dem zweiten Blick eine clevere Lösung.

Was ist Snac2 überhaupt?

  "A simple, minimalistic ActivityPub instance, written in C"  
  - Lightweight, minimal dependencies
  - Extensive support of ActivityPub operations  
  - Multiuser
  - Mastodon API support, so Mastodon-compatible apps can be used
  - Simple but effective web interface
  - Easily-accessed MUTE button to silence morons
  - Tested interoperability with related software
  - No database needed
  - Totally JavaScript-free
  - No cookies either
  - Not much bullshit

Keine Datenbank! Kein JavaScript! Keine Cookies!!
"snac stands for Social Networks Are Crap." :-)

Mein erster Snac-Server war vorinstalliert, ich musste mich nur um die Updates kümmern, ansonsten war es ein tolles Rundumsorglos Paket. Aber wie das so ist, der Service wurde geschlossen und ich wollte weiterhin einen Snac-Server haben.

Bei Uberspace war ich eh schon mit diversen Projekten und ich dachte mir, es wird doch wohl möglich sein auch einen Snac-Server dort zu installieren. Ich bin kein Programmierer, kein Coder, aber ich kann Copy/Paste, es gibt das UberLab und ich verstehe Zusammenhänge.
Also hab ich einfach losgelegt. Vorteil: Snac ist sehr gut dokumentiert. Noch ein Vorteil: bei Uberspace gibt es den besten Support überhaupt! Wenn ich nicht weiter wusste, dann gabs aus dem Team den nötigen Denkanstoß. Lernen leicht gemacht, klasse!

Also los jetzt.

Wie bekomme ich meinen eigenen Snac-Server auf einen Uberspace?

Du brauchst natürlich einen Uberspace und die Logindaten.

Der Großteil wird über Kommandozeile/Terminal erledigt. Also einloggen und schon bist du in deinem Home-Verzeichnis (das sieht ungefähr so aus: [isabell@stardust ~] ) und wirst als erstes die aktuelle Version aus dem Repository mit Git klonen:
git clone https://codeberg.org/grunfink/snac2.git snac2
Das snac2 Verzeichnis wurde erstellt, wechsel dort hin:
cd ~/snac2
Prüfe ob du die Master Version hast, die ist immer die beste Wahl, weil gut erprobt:
git checkout master
Führe nacheinander folgende Befehle aus um ein neues OpenSSL und ein neues cURL zu installieren:
export LDFLAGS="-lrt -L/usr/lib64/openssl11 -L/opt/ubrspc/curl/lib64"
export CFLAGS="-I /opt/ubrspc/curl/include -I/usr/include/openssl11"
(Diese beiden Schritte sind noch bei U7 notwendig, mit dem kommenden U8 sollte sich das erledigt haben)
Danach wird kompiliert:
make
PREFIX="$HOME" make install
Jetzt kannst du prüfen ob Snac installiert wurde und mit welcher Version. Der Befehl:
snac | head -1 ergibt irgendwas ähnliches wie das hier:
snac 2.85 - A simple, minimalistic ActivityPub instance
Prima.
Jetzt noch das WebBackend setzen, Snac läuft auf Port 8001:
uberspace web backend set / --http --port 8001
Wir wechseln zurück vom snac2 Verzeichnis ins Home-Verzeichnis:
cd..
Als nächstes wird Snac initialisiert, führe dazu folgendes aus:
snac init snac-data
Folgendes wird Schritt für Schritt abgefragt, du musst nur zwei Einträge machen:
1. Die Network adress muss 0.0.0.0 sein
2. unter Host Name muss deine Domain eingetragen werden (ohne http://). Das alles sollte ungefähr so aussehen:

  Network address or full path to unix socket [127.0.0.1]: 0.0.0.0  
  Network port [8001]:  
  Host name: DeineDomain.de  
  URL prefix:  
  Admin email address (optional):   

Klasse, damit wurde der Ordner "snac-data" erzeugt und die darin liegende Datei server.json erzeugt, der Dreh- und Angelpunkt deines Snac Servers. In dieser Datei kannst du später diverse Anpassungen vornehmen, für den Anfang passt alles schon recht gut.

Für den nächsten Schritt musst du dich mittels eines FTP Programms auf deinen Webspace einloggen, du wirst in deinem Home Ordner landen und öffnest den Ordner services.d:
/etc/services.d
In diesem Ordner erstellst du eine leere Datei mit dem Namen
snac.ini
Öffne diese Datei und trage folgendes ein:

[program:snac]
command=/home/DEIN-ASTEROID/bin/snac httpd /home/DEIN-ASTEROID/snac-data
autostart=yes
autorestart=yes
startsecs=30

Ändere DEIN-ASTEROID auf den Namen deines Uberspaces. Speichern. Schließen.
Du hast damit einen Service oder auch Daemon erstellt und bist auch schon fertig auf dem Webspace, der Rest wird wieder über das Terminal erledigt.

Mit Supervisord wird der Service eingelesen und gestartet, gib im Terminal nacheinander folgende Befehle ein, du bekommst nach jedem Befehl einen kurzes Status was grade erledigt wurde:
supervisorctl reread
supervisorctl update
supervisorctl status
Wenn nach dem letzten Befehl etwas wie das hier erscheint:
snac RUNNING pid 14710, uptime 0:00:36
dann hast du alles richtig gemacht.
Snac2 läuft. Bravo!

Nun muss natürlich noch ein User angelegt werden. Auch das geschieht (ausschließlich) über das Terminal, mit folgendem Befehl:
snac adduser snac-data
Erstelle einen Usernamen, anschließend wird ein temporäres Passwort erzeugt und ein Link der dich im Browser zu deinem neu erstellten Snac User bringt. Logge dich ein, ändere das Passwort und los gehts, willkommen im Fediverse! :-)

Snac updaten?

Auch ganz einfach.

Log dich über Terminal ein.
Gehe ins Snac Verzeichnis:
cd ~/snac2
dort holst du mit Git die aktuelle Version:
git pull
Anschließend wieder wie bei der Erstinstallation, kompilieren und installieren:
export LDFLAGS="-lrt -L/usr/lib64/openssl11 -L/opt/ubrspc/curl/lib64"
export CFLAGS="-I /opt/ubrspc/curl/include -I/usr/include/openssl11"
make
PREFIX="$HOME" make install
Danach den Service neu starten:
supervisorctl restart snac
Fertig :-)

Das solltest du beachten

Immer wenn du etwas in der server.json änderst, musst du anschließend den Service neu starten.
Ebenso wenn du im CSS rumschraubst oder ein anderes Theme verwenden möchtest. supervisorctl restart snac hilft immer.
supervisorctl status hilft auch, einfach nur um zu schauen ob der Service läuft.

Und glaub mir, du wirst irgendwann sowohl in der server.json rumfummeln als auch mit den Themes spielen. Gut so!


Yellow als CMS

Die richtige Wahl eines passenden Systems (CMS) für meine diverse kleinen Webseiten (auch dieser hier), ist eine unendliche Geschichte. Weniger ist oft mehr. Ich brauch und möchte zum Beispiel keine Datenbanken, Multiuser-Möglichkeiten, Socialmedia-API und ähnliches Gedöns.

Datenstrom Yellow hatte ich schonmal vor langer Zeit getestet, hatte mir damals nicht gefallen. Es ist aber immer gut, später nochmal einen Blick drauf zu werfen. Mittlerweile ist das ein extrem unkompliziertes und einfach gehaltenes System ohne Schnickschnack und damit genau das was ich gesucht hab. Und alles funktioniert einfach, von der Installation, über Zufügen von Erweiterungen, bis zum Anpassen des CSS, einfach toll! Texte in Markdown schreiben, Bilder einfügen, Navigation, sichtbare und unsichtbare Seiten, alles intuitiv und simpel. So muss das sein.

Yellow is for people who make small websites. Download one file, unzip it and copy everything to your web server. Your website is immediately available. The most important things are included. You can add more features later. There are extensions with additional features, languages and themes that you can install.

Ja


Otto

Otto hat eine eigene Seite: Klick

Otto


Kipp-Punkte

Ein unglaublich sehenswerter Vortrag (2018) von Professor Will Steffen über die Tragweite und Dringlichkeit des Klimawandels. Heute wichtiger denn je.
Will Steffen - Die große Wende voraus

Uns läuft die Zeit davon – sehr viel schneller als die meisten denken. Wir müssen jetzt handeln, nicht nur individuell, sondern als Gesellschaft. Vielen Menschen sind die Bilder der beispiellosen Brände im Amazonas und Australien noch deutlich vor Augen. Will Steffen ist bekannt für seine aufrüttelnden Vorträge. Einer der wichtigsten ist „The Big U-Turn Ahead“, aufgenommen am 27. Juni 2018 in Byron Bay, Australien.

Passend dazu dieser Beitrag von 2020: “Der Zusammenbruch der Zivilisation ist das wahrscheinlichste Ergebnis”

Die renommiertesten Klimawissenschaftler und Biologen der Welt glauben, dass wir auf den Zusammenbruch der Zivilisation zusteuern, und es könnte bereits zu spät sein, den Kurs zu ändern.

Bild ohne Beschreibung


LogSeq und Zettlr

Vor einiger Zeit hab ich mir aus Neugier mal Logseq auf mein Arbeits-Notebook installiert. Normalerweise nutze ich Zettlr für Notizen und Dokumentation. Für "Zettelmenschen" ist das auch super und reicht. Insgesamt dreimal hab ich mit Logseq einen Anlauf versucht aber schlicht und einfach absolut nichts verstanden. Das ist eines dieser Programme wo du denkst "wow, das ist cool, ich weiß das, aber wie zur Hölle funktioniert das?!" und dann plötzlich ist der Groschen gefallen! Kernpunkt ist das Journal mit den tägliche Notizen, die man so in Besprechungen, Telefonaten, usw. reinhämmert (ich arbeite mittlerweile fast papierlos). Alles ist verlinkbar, die Suche ist irre schnell, das Teil ist mit Plugins erweiterbar, Opensource, richtig gut dokumentiert und mit sehr aktiver Weiterentwicklung. Ich bin schwer begeistert! Privat brauch ich das nicht, da passt Zettlr besser für Schnippselsammlung, aber auf Arbeit ist Logseq die Macht!

Logseq A privacy-first, open-source platform for knowledge management and collaboration.