Gör sociala medier med öppen källkod genom att vara värd för din egen Akkoma Fediverse-server på en Raspberry Pi.

Fediverse är ett nätverk av sammankopplade sociala medieservrar som sammankopplar för att bilda ett sammanhängande nätverk, där du kan följa och interagera med de personer du är intresserad av.

Medan den mest kända Fediverse-servertypen är Mastodon, är Fediverse hem för dussintals typer av server. Akkoma är en komplett server som är enkel att distribuera på din Raspberry Pi. Här är hur…

Vad är Akkoma?

Som med alla Fediverse-servrar förlitar Akkoma sig på att ActivityPub-protokollet körs. Den är byggd på den populära kodbasen Pleroma, men lånar funktioner från MissKey – som möjligheten att se vilka servertyper som andra användarkonton körs på. Akkoma är under mycket aktiv utveckling och uppdateras regelbundet.

Med Akkoma kan du lägga till dina egna ikonpaket, använda en mängd olika markdown-smaker i inlägg, anpassa vad frontend som din Fediverse-instans använder, redigera dina inlägg, citera andras inlägg och ställ in en godtycklig karaktär begränsa.

instagram viewer

Hur man installerar Akkoma på Raspberry Pi

När du använder din Raspberry Pi som server bör du först följa vår guide på hur du ställer in din Raspberry Pi som en webbserver. Du behöver inte följa stegen för att ställa in MariaDB, PHP eller Docker Compose vid denna tidpunkt.

När din Pi är redo att fungera som en server, anslut till den på distans via SSH och sedan installera den senaste versionen av Docker Compose manuellt.

Klona Akkoma Git-förvaret och flytta in i det:

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

Ställ nu in miljövariablerna för Docker Compose med följande kommando:

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

Denna process tar flera minuter. När du kommer tillbaka till kommandotolken måste du bygga en behållare:

./docker-resources/build.sh

Återigen, detta kommer att ta ett tag. Vi tidsinställde processen till cirka tre minuter, vilket ger dig gott om möjligheter att kolla in andra projekt som du är värd för själv som du kan köra på en Raspberry Pi, eller kanske spela en omgång Solitaire i Linux-terminalen.

Bara för att du har skapat en Docker-behållare betyder det inte att du är redo att köra den ännu. Klistra in följande grupp av kommandon och tryck sedan på Stiga på.

mkdir pgdata
./docker-resources/manage.sh mix deps.get
./docker-resources/manage.sh mix kompilering
./docker-resources/manage.sh mix pleroma.instance allm

Svar Y på frågan om du vill installera Hex och rebar3. Appen kommer att kompileras i ytterligare cirka 12 minuter. Använd den här tiden till att lyssna på några poddar som kommer att öka din positivitet.

När du känner dig inspirerad och upplivad bör du gå tillbaka till kommandoraden och svara på några frågor om din instans. När du blir ombedd anger du ditt domännamn utan http:// eller https:// prefix, följt av namnet på din instans och din e-postadress.

Du måste välja om du vill låta sökmotorer indexera din webbplats (det är upp till dig), och om du vill lagra konfigurationen i databasen. Välja ja för detta alternativ eftersom det låter dig administrera din instans via administratörens webbgränssnitt.

Ställ in värdnamnet för din databas som db, bekräfta databasnamnet och användaren som akkoma, och ange databaslösenordet som akkoma.

RUM-index möjliggör snabb sökning av PostgreSQL-databasen, så tryck på y på frågan om du vill använda dem. Standardporten är 4000. Du kan lämna detta som det är såvida du inte använder port 4000 för annan programvara som är värd för dig själv.

Ett enkelt sätt att kontrollera efter portar som används är att öppna ett annat terminalfönster eller flik och ange:

sudo lsof -i -P -n | grep LYSSNA

Ställ in IP som appen lyssnar på 0.0.0.0, och acceptera de förnuftiga standardinställningarna för de återstående frågorna.

Processen kommer att sluta med din instanskonfiguration genererad till config/generated_config.exs. Kopiera denna fil till en ny plats:

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

Följande kommando returnerar behållar-ID: t som en sträng på 64 tecken. Kopiera den någon annanstans för förvaring. Använd nu detta kommando för att ställa in databasen:

docker-compose körning --rm akkoma psql -h db -U akkoma -f config/setup_db.psql

När behållaren har konfigurerats, stoppa den med:

hamnarbetare sluta container_id_you_noted_earlier

Stiga på:

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

...för att köra migreringar och kompilera om dina filer. Du kommer att se flera meddelanden om att "det tar mer än 10s", och processen kommer enkelt att ge dig tillräckligt med tid för att göra en kopp te.

Din instans kommer att behöva ett gränssnitt för användare att interagera med. För närvarande behöver du bara Pleromas gränssnitt och administratörsgränssnittet:

./docker-resources/manage.sh blanda pleroma.frontend Installera pleroma-fe --ref stabil
./docker-resources/manage.sh blanda pleroma.frontend Installeraadministration-fe --ref stabil

Du är nu redo att skapa administratörsanvändaren. Stiga på:

./docker-resources/manage.sh blanda pleroma.user ny ditt-önskade-användarnamn din e-postadress@domän.tld --admin

Detta kommando kommer att returnera en sammanfattning av informationen du har angett hittills. Kontrollera att det är korrekt och ange sedan y.

En länk kommer att genereras så att du kan återställa administratörslösenordet. Eftersom din instans ännu inte körs och inte är exponerad för internet, anteckna länken för senare.

Exponera din Akkoma-instans för webben

Du måste skapa en Apache-konfigurationsfil för din Akkoma-instans:

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

Klistra in följande i den nya filen:

<VirtualHost *:80>

Server namnditt-domännamn.tld

ProxyPass / http://127.0.0.1:4000/
ProxyPassReverse / http:/127.0.0.1:4000/
ProxyPreserveHost På

VirtualHost>

Spara och avsluta nano med Ctrl + O sedan Ctrl + X. Aktivera conf-filen och starta sedan om Apache:

sudoa2ensiteakkoma.conf
sudo-tjänsten apache2 omstart

Använd nu Certbot för att hämta och distribuera TLS-certifikat och -nycklar:

sudo certbot

Välj ditt domännamn från listan och tryck på Enter. Starta om Apache igen med:

sudo-tjänsten apache2 omstart

Navigera tillbaka till din Akkoma-katalog och ta fram Docker Compose i fristående läge:

CD ~/akkoma
docker-compose up -d

Vänta några minuter och besök sedan din Akkoma-instans med hjälp av länken för återställning av lösenord. Se till att du väljer ett starkt lösenord för att säkra instansen.

Anpassa din Akkoma-instans

Innan du gör något annat bör du besöka din webbadministratörssida på ditt-domännamn.tld/pleroma/admin.

Det finns hundratals alternativ här, men du kan lugnt ignorera de flesta av dem för nu. Välj inställningar > Frontend, och läs igenom allt det går att ändra på. Du kanske vill välja ett annat gränssnitt än standard Pleroma, eller ställa in bakgrunden till en annan bild.

Exakt vad du väljer att göra här är upp till dig och dina användare. För att ge dig en uppfattning om vad som är tillgängligt ställer vi in ​​följande på vår demoinstans:

Vi valde att aktivera grön text på rader med prefixet > karaktär; ställ in konversationsvisningsstilen till träd; vi satte in webbplatsens logotyp till en tecknad serie av denna författares huvud och laddade upp en stiliserad NSFW-bildvarning.

Mer allvarligt är att du vill välja vilket standardflöde användare ser när de loggar in och vilka besökare se när de inte är inloggade, hur panelerna är ordnade och vilka smaker eller Markdown du vill framställa.

När du är nöjd med fronten, gå över till inställningar > Exempel. Ställ in ditt webbplatsnamn och beskrivning och ta en titt på gränserna.

Medan vanliga sociala medier har en ganska låg teckengräns kan du ställa in din till vad du vill. Vi satte en gräns på 750 000 tecken för inlägg från vår egen instans, men valde att begränsa inlägg från avlägsna instanser till en gräns på bara 100 000 tecken. Du kan också ställa in gränser för filuppladdningar och avatarer.

Andra viktiga överväganden inkluderar om du vill att användare ska kunna registrera sig på din instans direkt, oavsett om du föredrar det ett system endast för inbjudningar, och om du vill federera med andra instanser eller köra din sociala medieplats i fantastisk isolering. Det finns så många alternativ i inställningar, bör du spendera några timmar på att bekanta dig med dem.

När du är klar, logga in via din huvudadress och börja utöka dina Fediverse-anhängare.

Akkoma är inte den enda Fediverse-servern

Även om Akkoma är vår favorit Fediverse-server och är idealisk för att köra en instans på din Raspberry Pi, är den långt ifrån den enda.

Fediverse är den idealiska platsen att bygga ett onlinetorg för grupper av likasinnade och genom att experimentera med olika typer kan du hitta den perfekta servern för att bygga din egen online gemenskap.