Betreiben Sie soziale Medien im Open-Source-Stil, indem Sie Ihren eigenen Akkoma Fediverse-Server auf einem Raspberry Pi hosten.

Das Fediverse ist ein Netzwerk miteinander verbundener Social-Media-Server, die sich zu einem zusammenhängenden Netzwerk zusammenschließen, in dem Sie den Menschen folgen und mit ihnen interagieren können, an denen Sie interessiert sind.

Während Mastodon der bekannteste Fediverse-Servertyp ist, gibt es im Fediverse Dutzende Servertypen. Akkoma ist ein voll ausgestatteter Server, der einfach auf Ihrem Raspberry Pi bereitgestellt werden kann. Hier ist wie…

Was ist Akkoma?

Wie alle Fediverse-Server verlässt sich Akkoma zur Ausführung auf das ActivityPub-Protokoll. Es basiert auf der beliebten Pleroma-Codebasis, übernimmt jedoch Funktionen von MissKey – beispielsweise die Möglichkeit, zu sehen, auf welchen Servertypen andere Benutzerkonten ausgeführt werden. Akkoma wird sehr aktiv weiterentwickelt und regelmäßig aktualisiert.

Mit Akkoma können Sie Ihre eigenen Icon-Pakete hinzufügen, verschiedene Markdown-Varianten in Beiträgen verwenden und alles anpassen Frontend, das Ihre Fediverse-Instanz verwendet, bearbeiten Sie Ihre Beiträge, zitieren Sie die Beiträge anderer Personen und legen Sie ein beliebiges Zeichen fest Grenze.

instagram viewer

So installieren Sie Akkoma auf Raspberry Pi

Da Sie Ihren Raspberry Pi als Server verwenden, sollten Sie zunächst unserer Anleitung folgen So richten Sie Ihren Raspberry Pi als Webserver ein. Sie müssen die Schritte zum Einrichten von MariaDB, PHP oder Docker Compose an dieser Stelle nicht befolgen.

Sobald Ihr Pi bereit ist, als Server zu fungieren, stellen Sie über SSH eine Remote-Verbindung zu ihm her und dann Installieren Sie manuell die neueste Version von Docker Compose.

Klonen Sie das Akkoma-Git-Repository und verschieben Sie es:

Idiot Klon https://akkoma.dev/AkkomaGang/akkoma.git -b stabil && cd akkoma

Legen Sie nun die Umgebungsvariablen für Docker Compose mit dem folgenden Befehl fest:

cp docker-resources/env.example .env 
Echo„DOCKER_USER=$(id -u):$(id -g)" >> .env

Dieser Vorgang dauert mehrere Minuten. Wenn Sie zur Eingabeaufforderung zurückkehren, müssen Sie einen Container erstellen:

./docker-resources/build.sh

Auch dies wird eine Weile dauern. Wir haben den Vorgang auf etwa drei Minuten eingeplant, sodass Sie ausreichend Gelegenheit haben, andere auszuprobieren Selbstgehostete Projekte, die Sie auf einem Raspberry Pi ausführen können, oder vielleicht Spielen Sie eine Partie Solitaire im Linux-Terminal.

Nur weil Sie einen Docker-Container erstellt haben, heißt das noch lange nicht, dass Sie bereit sind, ihn auszuführen. Fügen Sie die folgende Befehlsgruppe ein und drücken Sie dann Eingeben.

mkdir pgdata
./docker-resources/manage.sh mix deps.get
./docker-resources/manage.sh Mix-Kompilierung
./docker-resources/manage.sh mix pleroma.instance gen

Antworten Y wenn Sie gefragt werden, ob Sie Hex und rebar3 installieren möchten. Die Kompilierung der App dauert etwa weitere 12 Minuten. Nutzen Sie diese Zeit, um einige davon anzuhören Podcasts, die Ihre positive Einstellung steigern.

Wenn Sie sich inspiriert und gestärkt fühlen, sollten Sie zur Befehlszeile zurückkehren und einige Fragen zu Ihrer Instanz beantworten. Wenn Sie dazu aufgefordert werden, geben Sie Ihren Domainnamen ohne ein http:// oder https:// Präfix, gefolgt vom Namen Ihrer Instanz und Ihrer E-Mail-Adresse.

Sie müssen entscheiden, ob Suchmaschinen Ihre Website indizieren dürfen (es liegt an Ihnen) und ob die Konfiguration in der Datenbank gespeichert werden soll. Wählen Ja für diese Option, da Sie damit Ihre Instanz über die Admin-Weboberfläche verwalten können.

Legen Sie den Hostnamen Ihrer Datenbank fest als db, bestätigen Sie den Datenbanknamen und den Benutzer als akkoma, und geben Sie das Datenbankkennwort ein als akkoma.

RUM-Indizes Ermöglichen Sie eine schnelle Suche in der PostgreSQL-Datenbank. Tippen Sie also auf j wenn Sie gefragt werden, ob Sie sie verwenden möchten. Der Standardport ist 4000. Sie können dies so belassen, es sei denn, Sie verwenden Port 4000 für andere selbst gehostete Software.

Eine einfache Möglichkeit, nach verwendeten Ports zu suchen, besteht darin, ein anderes Terminalfenster oder eine andere Registerkarte zu öffnen und Folgendes einzugeben:

sudo lsof -i -P -n | grep HÖREN

Legen Sie die IP fest, auf die die App hören soll 0.0.0.0, und akzeptieren Sie die sinnvollen Standardeinstellungen für die verbleibenden Fragen.

Der Vorgang endet mit der Generierung Ihrer Instanzkonfiguration in config/generated_config.exs. Kopieren Sie diese Datei an einen neuen Speicherort:

cp config/generated_config.exs config/prod.secret.exs

Der folgende Befehl gibt die Container-ID als 64-stellige Zeichenfolge zurück. Kopieren Sie es zur sicheren Aufbewahrung an einen anderen Ort. Verwenden Sie nun diesen Befehl, um die Datenbank einzurichten:

Docker-Compose-Ausführung --rm akkoma psql -h db -U akkoma -f config/setup_db.psql

Wenn der Container erfolgreich eingerichtet wurde, stoppen Sie ihn mit:

Docker stoppen container_id_you_noted_earlier

Eingeben:

./docker-resources/manage.sh mix ecto.migrate

...um Migrationen durchzuführen und Ihre Dateien neu zu kompilieren. Sie sehen mehrere Benachrichtigungen, dass „es mehr als 10 Sekunden dauert“, und der Vorgang gibt Ihnen problemlos genug Zeit, um eine Tasse Tee zuzubereiten.

Ihre Instanz benötigt eine Schnittstelle, mit der Benutzer interagieren können. Im Moment benötigen Sie lediglich das Pleroma-Frontend und das Admin-Frontend:

./docker-resources/manage.sh mix pleroma.frontend Installieren pleroma-fe --ref stabil
./docker-resources/manage.sh mix pleroma.frontend InstallierenAdministrator-fe --ref stabil

Sie können jetzt den Admin-Benutzer erstellen. Eingeben:

./docker-resources/manage.sh mix pleroma.user neu Ihr-gewünschter-Benutzername IhreE-Mail-Adresse@Domain.tld --admin

Dieser Befehl gibt eine Zusammenfassung der bisher eingegebenen Informationen zurück. Überprüfen Sie, ob es richtig ist, und geben Sie dann ein j.

Es wird ein Link generiert, über den Sie das Administratorkennwort zurücksetzen können. Da Ihre Instanz noch nicht ausgeführt wird und nicht mit dem Internet verbunden ist, notieren Sie sich den Link für später.

Stellen Sie Ihre Akkoma-Instanz dem Web zur Verfügung

Sie müssen eine Apache-Konfigurationsdatei für Ihre Akkoma-Instanz erstellen:

CD /etc/apache2/sites-available
SudoNanoakkoma.conf

Fügen Sie in die neue Datei Folgendes ein:

<VirtualHost *:80>

ServernameIhr-Domain-Name.tld

ProxyPass / http://127.0.0.1:4000/
ProxyPassReverse / http:/127.0.0.1:4000/
ProxyPreserveHost Ein

VirtualHost>

Speichern und beenden Sie Nano mit Strg + O Dann Strg + X. Aktivieren Sie die conf-Datei und starten Sie dann Apache neu:

Sudoa2ensiteakkoma.conf
sudo service apache2 neu starten

Verwenden Sie nun Certbot, um TLS-Zertifikate und -Schlüssel abzurufen und bereitzustellen:

sudo certbot

Wählen Sie Ihren Domainnamen aus der Liste aus und drücken Sie Enter. Starten Sie Apache erneut mit:

sudo service apache2 neu starten

Navigieren Sie zurück zu Ihrem Akkoma-Verzeichnis und rufen Sie Docker Compose im getrennten Modus auf:

CD ~/akkoma
docker-compose up -d

Warten Sie ein paar Minuten und besuchen Sie dann Ihre Akkoma-Instanz über den Link zum Zurücksetzen des Passworts. Stellen Sie sicher, dass Sie ein sicheres Passwort wählen, um die Instanz zu sichern.

Passen Sie Ihre Akkoma-Instanz an

Bevor Sie etwas anderes tun, sollten Sie Ihre Webadministrationsseite unter besuchen Ihr-Domainname.tld/pleroma/admin.

Hier gibt es Hunderte von Optionen, aber die meisten davon können Sie vorerst getrost ignorieren. Wählen Einstellungen > Frontend, und lesen Sie alle Dinge durch, die geändert werden können. Möglicherweise möchten Sie ein anderes Frontend als das Standard-Pleroma auswählen oder den Hintergrund auf ein anderes Bild einstellen.

Was Sie hier genau tun, bleibt Ihnen und Ihren Benutzern überlassen. Um Ihnen eine Vorstellung davon zu geben, was verfügbar ist, haben wir auf unserer Demo-Instanz Folgendes eingestellt:

Wir haben uns dafür entschieden, grünen Text in Zeilen zu aktivieren, denen das Präfix vorangestellt ist > Charakter; Stellen Sie den Konversationsanzeigestil auf „Baum“ ein. Wir haben das Website-Logo auf eine Karikatur des Kopfes dieses Autors gesetzt und eine stilisierte NSFW-Bildwarnung hochgeladen.

Im Ernst: Sie möchten den Standard-Feed auswählen, den Benutzer sehen, wenn sie sich anmelden, und welche Besucher Sehen Sie, wann sie nicht angemeldet sind, wie die Panels angeordnet sind und welche Geschmacksrichtungen oder Markdowns Sie wünschen machen.

Wenn Sie mit dem Frontend zufrieden sind, gehen Sie zu Einstellungen > Beispiel. Legen Sie den Namen und die Beschreibung Ihrer Website fest und sehen Sie sich dann die Beschränkungen an.

Während auf Mainstream-Social-Media-Websites eine relativ niedrige Zeichenbeschränkung gilt, können Sie bei Ihrer eigenen festlegen, was Sie möchten. Wir haben ein Limit von 750.000 Zeichen für Beiträge aus unserer eigenen Instanz festgelegt, haben uns jedoch dafür entschieden, Beiträge von Remote-Instanzen einem Limit von lediglich 100.000 Zeichen zu unterwerfen. Sie können auch Limits für Datei-Uploads und Avatare festlegen.

Zu den weiteren wichtigen Überlegungen gehört, ob Sie möchten, dass sich Benutzer direkt auf Ihrer Instanz registrieren können, oder ob Sie dies bevorzugen ein System, das nur auf Einladung zugänglich ist, und ob Sie sich mit anderen Instanzen zusammenschließen oder Ihre Social-Media-Site in völliger Isolation betreiben möchten. Es gibt so viele Möglichkeiten Einstellungen, sollten Sie ein paar Stunden damit verbringen, sich mit ihnen vertraut zu machen.

Wenn Sie fertig sind, melden Sie sich über Ihre Haupt-URL an und Fangen Sie an, Ihre Fediverse-Follower zu vergrößern.

Akkoma ist nicht der einzige Fediverse-Server

Obwohl Akkoma unser Lieblings-Fediverse-Server ist und sich ideal zum Ausführen einer Instanz auf Ihrem Raspberry Pi eignet, ist es bei weitem nicht der einzige.

Das Fediverse ist der ideale Ort, um einen Online-Stadtplatz für Gruppen Gleichgesinnter zu errichten Indem Sie mit verschiedenen Typen experimentieren, können Sie den perfekten Server finden, um Ihren eigenen Server online zu erstellen Gemeinschaft.