Lav sociale medier på open source-måden ved at hoste din egen Akkoma Fediverse-server på en Raspberry Pi.
Fediverse er et netværk af indbyrdes forbundne sociale medieservere, som sammenføjes for at danne et sammenhængende netværk, hvor du kan følge og interagere med de mennesker, du er interesseret i.
Mens den bedst kendte Fediverse-servertype er Mastodon, er Fediverse hjemsted for snesevis af servertyper. Akkoma er en fuldt udstyret server, der er nem at implementere på din Raspberry Pi. Her er hvordan...
Hvad er Akkoma?
Som med alle Fediverse-servere er Akkoma afhængig af, at ActivityPub-protokollen kører. Den er bygget på den populære Pleroma-kodebase, men låner funktioner fra MissKey – såsom muligheden for at se, hvilke servertyper andre brugerkonti kører på. Akkoma er under meget aktiv udvikling og opdateres løbende.
Med Akkoma kan du tilføje dine egne ikonpakker, bruge en række forskellige markdown-smag i indlæg, tilpasse hvad frontend din Fediverse-instans bruger, rediger dine indlæg, citer andres indlæg og indstil en vilkårlig karakter begrænse.
Sådan installeres Akkoma på Raspberry Pi
Når du bruger din Raspberry Pi som server, bør du først følge vores guide på hvordan du opsætter din Raspberry Pi som en webserver. Du behøver ikke at følge trinene for at konfigurere MariaDB, PHP eller Docker Compose på dette tidspunkt.
Når din Pi er klar til at fungere som en server, skal du oprette forbindelse til den eksternt via SSH og derefter installere den seneste version af Docker Compose manuelt.
Klon Akkoma Git-depotet og flyt ind i det:
git klon https://akkoma.dev/AkkomaGang/akkoma.git -b stabil && cd akkoma
Indstil nu miljøvariablerne for Docker Compose med følgende kommando:
cp docker-resources/env.example .env
ekko"DOCKER_USER=$(id -u):$(id -g)" >> .env
Denne proces tager flere minutter. Når du vender tilbage til kommandoprompten, skal du bygge en container:
./docker-resources/build.sh
Igen, dette vil tage et stykke tid. Vi timede processen til omkring tre minutter, hvilket giver dig rig mulighed for at tjekke andre selv-hostede projekter, du kan køre på en Raspberry Pi, eller måske spil et spil Solitaire i Linux-terminalen.
Bare fordi du har oprettet en Docker-container, betyder det ikke, at du er klar til at køre den endnu. Indsæt følgende gruppe af kommandoer, og tryk derefter på Gå ind.
mkdir pgdata
./docker-resources/manage.sh mix deps.get
./docker-resources/manage.sh mix kompilering
./docker-resources/manage.sh mix pleroma.instance gen
Svar Y når du bliver spurgt, om du vil installere Hex og rebar3. Appen vil kompilere i omkring yderligere 12 minutter. Brug denne tid til at lytte til nogle podcasts, der vil booste din positivitet.
Føler dig inspireret og forfrisket, bør du vende tilbage til kommandolinjen og besvare nogle spørgsmål om din instans. Når du bliver bedt om det, skal du indtaste dit domænenavn uden http:// eller https:// præfiks, efterfulgt af navnet på din instans og din e-mailadresse.
Du skal vælge, om du vil lade søgemaskiner indeksere dit websted (det er op til dig), og om du vil gemme konfigurationen i databasen. Vælge Ja for denne mulighed, da den giver dig mulighed for at administrere din instans via admin-webgrænsefladen.
Indstil værtsnavnet på din database som db, bekræft databasenavnet og brugeren som akkoma, og indtast databaseadgangskoden som akkoma.
RUM-indekser tillade hurtig søgning i PostgreSQL-databasen, så tryk på y når du bliver spurgt, om du vil bruge dem. Standardporten er 4000. Du kan lade dette være som det er, medmindre du bruger port 4000 til anden selvhostet software.
En nem måde at tjekke for porte i brug er at åbne et andet terminalvindue eller fane og indtaste:
sudo lsof -i -P -n | grep LYT
Indstil den IP, appen lytter til som 0.0.0.0, og accepter de fornuftige standardindstillinger for de resterende spørgsmål.
Processen ender med din instanskonfiguration genereret til config/generated_config.exs. Kopier denne fil til en ny placering:
cp config/generated_config.exs config/prod.secret.exs
Følgende kommando returnerer container-id'et som en streng på 64 tegn. Kopier det andetsteds til opbevaring. Brug nu denne kommando til at opsætte databasen:
docker-compose kørsel --rm akkoma psql -h db -U akkoma -f config/setup_db.psql
Når beholderen er konfigureret, skal du stoppe den med:
havnearbejder hold op container_id_you_noted_earlier
Gå ind:
./docker-resources/manage.sh mix ecto.migrate
...for at køre migreringer og genkompilere dine filer. Du vil se flere meddelelser om, at "det tager mere end 10s", og processen vil nemt give dig tid nok til at lave en kop te.
Din instans skal bruge en grænseflade, som brugerne kan interagere med. Indtil videre har du kun brug for Pleroma-frontenden og admin-frontenden:
./docker-resources/manage.sh mix pleroma.frontend installere pleroma-fe --ref stabil
./docker-resources/manage.sh mix pleroma.frontend installereadmin-fe --ref stabil
Du er nu klar til at oprette administratorbrugeren. Gå ind:
./docker-resources/manage.sh bland pleroma.user ny dit-ønskede-brugernavn din e-mail@domæne.tld --admin
Denne kommando returnerer en oversigt over de oplysninger, du har indtastet indtil videre. Kontroller, at det er korrekt, og indtast derefter y.
Et link vil blive genereret, så du kan nulstille administratoradgangskoden. Da din forekomst endnu ikke kører og ikke er udsat for internettet, noter linket til senere.
Udsæt din Akkoma-instans for internettet
Du skal oprette en Apache-konfigurationsfil til din Akkoma-instans:
cd /etc/apache2/sites-available
sudonanoakkoma.conf
Indsæt følgende i den nye fil:
<VirtualHost *:80>
Server navndit-domænenavn.tld
ProxyPass / http://127.0.0.1:4000/
ProxyPassReverse / http:/127.0.0.1:4000/
ProxyPreserveHost On
VirtualHost>
Gem og afslut nano med Ctrl + O derefter Ctrl + X. Aktiver conf-filen, og genstart derefter Apache:
sudoa2ensiteakkoma.conf
sudo service apache2 genstart
Brug nu Certbot til at hente og implementere TLS-certifikater og nøgler:
sudo certbot
Vælg dit domænenavn fra listen, og tryk på Enter. Genstart Apache igen med:
sudo service apache2 genstart
Naviger tilbage til din Akkoma-mappe, og få Docker Compose frem i løsrevet tilstand:
cd ~/akkoma
docker-komponere op -d
Vent et par minutter, og besøg derefter din Akkoma-instans ved at bruge linket til nulstilling af adgangskode. Sørg for at vælge en stærk adgangskode for at sikre forekomsten.
Tilpas din Akkoma-instans
Før du gør noget andet, bør du besøge din webadministrationsside på dit-domænenavn.tld/pleroma/admin.
Der er hundredvis af muligheder her, men du kan roligt ignorere de fleste af dem for nu. Vælg Indstillinger > Frontend, og læs alle de ting, det er muligt at ændre, igennem. Du vil måske vælge en anden frontend fra standard Pleroma, eller indstille baggrunden til et andet billede.
Præcis hvad du vælger at gøre her er op til dig og dine brugere. For at give dig en idé om, hvad der er tilgængeligt, indstiller vi følgende på vores demo-instans:
Vi valgte at aktivere grøn tekst på linjer med foran > Karakter; indstil samtalevisningsstilen til træet; vi satte webstedets logo til en tegneserie af denne forfatters hoved og uploadede en stiliseret NSFW-billedadvarsel.
Mere seriøst bør du vælge det standardfeed brugere ser, når de logger på, og hvilke besøgende se, hvornår de ikke er logget ind, hvordan paneler er arrangeret, og de smagsvarianter eller Markdown, du vil gengive.
Når du er tilfreds med frontenden, så gå over til Indstillinger > Forekomst. Indstil dit websteds navn og beskrivelse, og tag et kig på grænserne.
Mens almindelige sociale mediesider har en ret lav tegngrænse, kan du indstille din til, hvad du vil. Vi satte en grænse på 750.000 tegn for indlæg fra vores egen instans, men valgte at underlægge indlæg fra fjerninstanser kun en grænse på 100.000 tegn. Du kan også sætte grænser for filupload og avatarer.
Andre vigtige overvejelser omfatter, om du ønsker, at brugere skal kunne registrere sig direkte på din instans, uanset om du foretrækker det et system, der kun kan inviteres, og om du ønsker at forbinde med andre forekomster eller køre dit sociale mediested i glimrende isolation. Der er så mange muligheder i Indstillinger, bør du bruge et par timer på at blive fortrolig med dem.
Når du er færdig, skal du logge ind via din primære URL, og begynde at vokse dine Fediverse-tilhængere.
Akkoma er ikke den eneste Fediverse-server
Mens Akkoma er vores foretrukne Fediverse-server og er ideel til at køre en instans på din Raspberry Pi, er den langt fra den eneste.
Fediverse er det ideelle sted at bygge et online bytorv for grupper af ligesindede og ved at eksperimentere med forskellige typer, kan du finde den perfekte server til at bygge din egen online fællesskab.