Gebruik sociale media op de open source-manier door uw eigen Akkoma Fediverse-server op een Raspberry Pi te hosten.
De Fediverse is een netwerk van onderling verbonden sociale-mediaservers die zich verenigen om een samenhangend netwerk te vormen, waar je de mensen waarin je geïnteresseerd bent kunt volgen en ermee kunt communiceren.
Hoewel het bekendste Fediverse-servertype Mastodon is, herbergt de Fediverse tientallen soorten servers. Akkoma is een volledig functionele server die eenvoudig op uw Raspberry Pi kan worden geïmplementeerd. Hier is hoe…
Wat is Akkoma?
Zoals met alle Fediverse-servers, vertrouwt Akkoma op het ActivityPub-protocol om te draaien. Het is gebouwd op de populaire Pleroma-codebase, maar leent functies van MissKey, zoals de mogelijkheid om te zien op welke servertypen andere gebruikersaccounts draaien. Akkoma wordt zeer actief ontwikkeld en wordt regelmatig bijgewerkt.
Met Akkoma kun je je eigen icon packs toevoegen, verschillende markdown-smaken gebruiken in berichten, wat aanpassen front-end die uw Fediverse-instantie gebruikt, bewerk uw berichten, citeer de berichten van andere mensen en stel een willekeurig teken in begrenzing.
Hoe Akkoma op Raspberry Pi te installeren
Aangezien u uw Raspberry Pi als server gebruikt, moet u eerst onze gids volgen op hoe u uw Raspberry Pi instelt als een webserver. U hoeft op dit moment de stappen voor het instellen van MariaDB, PHP of Docker Compose niet te volgen.
Zodra uw Pi klaar is om als server te functioneren, maakt u er op afstand verbinding mee via SSH, en dan installeer handmatig de nieuwste release van Docker Compose.
Kloon de Akkoma Git-repository en verplaats ernaar:
gek kloon https://akkoma.dev/AkkomaGang/akkoma.git -b stabiel && cd akkoma
Stel nu de omgevingsvariabelen voor Docker Compose in met de volgende opdracht:
cp docker-resources/env.example .env
echo"DOCKER_USER=$(id -u):$(id-g)" >> .env
Dit proces duurt enkele minuten. Wanneer u terugkeert naar de opdrachtprompt, moet u een container bouwen:
./docker-resources/build.sh
Ook dit duurt weer even. We hebben het proces getimed op ongeveer drie minuten, wat je voldoende gelegenheid geeft om andere te bekijken zelfgehoste projecten die u op een Raspberry Pi kunt uitvoeren, of misschien speel een spelletje Solitaire in de Linux-terminal.
Het feit dat u een Docker-container hebt gemaakt, betekent nog niet dat u er al klaar voor bent om deze uit te voeren. Plak de volgende groep opdrachten en druk vervolgens op Binnenkomen.
mkdir pgdata
./docker-resources/manage.sh mix deps.get
./docker-resources/manage.sh mix compileren
./docker-resources/manage.sh mix pleroma.instance gen
Antwoord Y wanneer u wordt gevraagd of u Hex en rebar3 wilt installeren. De app compileert nog ongeveer 12 minuten. Gebruik deze tijd om naar wat te luisteren podcasts die je positiviteit een boost geven.
Als u zich geïnspireerd en verkwikt voelt, moet u terugkeren naar de opdrachtregel en enkele vragen over uw instantie beantwoorden. Voer desgevraagd uw domeinnaam in zonder de http:// of https:// prefix, gevolgd door de naam van uw instantie en uw e-mailadres.
U moet kiezen of u zoekmachines uw site wilt laten indexeren (het is aan u) en of u de configuratie in de database wilt opslaan. Kiezen Ja voor deze optie omdat u hiermee uw instantie kunt beheren via de admin-webinterface.
Stel de hostnaam van uw database in als db, bevestig de databasenaam en gebruiker as akkomaen voer het databasewachtwoord in als akkoma.
RUM-indexen zorgen voor snel zoeken in de PostgreSQL-database, dus tik op j wanneer u wordt gevraagd of u ze wilt gebruiken. De standaardpoort is 4000. U kunt dit laten zoals het is, tenzij u poort 4000 gebruikt voor andere door uzelf gehoste software.
Een gemakkelijke manier om te controleren of er poorten in gebruik zijn, is door een ander terminalvenster of tabblad te openen en in te voeren:
sudo lsof -i -P -n | grep LUISTER
Stel het IP-adres in waar de app naar luistert 0.0.0.0en accepteer de verstandige standaardinstellingen voor de overige vragen.
Het proces eindigt met het genereren van uw instantieconfiguratie naar config/generated_config.exs. Kopieer dit bestand naar een nieuwe locatie:
cp config/generated_config.exs config/prod.secret.exs
De volgende opdracht retourneert de container-ID als een tekenreeks van 64 tekens. Kopieer het ergens anders voor bewaring. Gebruik nu deze opdracht om de database in te stellen:
docker-compose run --rm akkoma psql -h db -U akkoma -f config/setup_db.psql
Wanneer de container succesvol is ingesteld, stopt u deze met:
havenarbeider stop container_id_you_noted_earlier
Binnenkomen:
./docker-resources/manage.sh mix ecto.migrate
...om migraties uit te voeren en uw bestanden opnieuw te compileren. Je ziet meerdere meldingen dat "het meer dan 10 seconden duurt", en het proces geeft je gemakkelijk genoeg tijd om een kopje thee te zetten.
Uw instantie heeft een interface nodig waarmee gebruikers kunnen communiceren. Voor nu heb je alleen de Pleroma-frontend en de admin-frontend nodig:
./docker-resources/manage.sh mix pleroma.frontend installeren pleroma-fe --ref stabiel
./docker-resources/manage.sh mix pleroma.frontend installerenbeheerder-bijv --ref stabiel
U bent nu klaar om de admin-gebruiker aan te maken. Binnenkomen:
./docker-resources/manage.sh mix pleroma.user nieuw uw-gewenste-gebruikersnaam uwe-mail@domein.tld --beheerder
Deze opdracht retourneert een samenvatting van de informatie die u tot nu toe hebt ingevoerd. Controleer of het correct is en voer dan in j.
Er wordt een link gegenereerd waarmee u het beheerderswachtwoord opnieuw kunt instellen. Aangezien uw instantie nog niet actief is en niet wordt blootgesteld aan internet, noteert u de link voor later.
Stel uw Akkoma-instantie bloot aan het web
U moet een Apache-configuratiebestand maken voor uw Akkoma-instantie:
CD /etc/apache2/sites-available
sudonanoakkoma.conf
Plak het volgende in het nieuwe bestand:
<VirtueleHost *:80>
Server naamuw-domeinnaam.tld
ProxyPass / http://127.0.0.1:4000/
ProxyPassReverse / http:/127.0.0.1:4000/
ProxyPreserveHost Aan
VirtueleHost>
Opslaan en nano afsluiten met Ctrl+O Dan Ctrl+X. Schakel het conf-bestand in en start Apache opnieuw:
sudoa2ensiteakkoma.conf
sudo-service apache2 opnieuw opstarten
Gebruik nu Certbot om TLS-certificaten en -sleutels op te halen en te implementeren:
sudo certbot
Selecteer uw domeinnaam uit de lijst en druk op Einter. Herstart Apache opnieuw met:
sudo-service apache2 opnieuw opstarten
Navigeer terug naar uw Akkoma-directory en open Docker Compose in vrijstaande modus:
CD ~/akkoma
docker-samenstellen up -d
Wacht een paar minuten en bezoek vervolgens uw Akkoma-instantie met behulp van de link voor het opnieuw instellen van het wachtwoord. Zorg ervoor dat u een sterk wachtwoord kiest om de instantie te beveiligen.
Pas uw Akkoma-instantie aan
Voordat u iets anders doet, moet u uw webbeheerderspagina bezoeken op uw-domeinnaam.tld/pleroma/admin.
Er zijn hier honderden opties, maar u kunt de meeste voorlopig gerust negeren. Selecteer Instellingen > Voorkanten lees alle dingen die u kunt wijzigen. Misschien wilt u een andere voorkant kiezen dan de standaard Pleroma, of de achtergrond instellen op een andere afbeelding.
Wat u hier precies doet, is aan u en uw gebruikers. Om u een idee te geven van wat er beschikbaar is, hebben we het volgende ingesteld op onze demo-instantie:
We hebben ervoor gekozen om groene tekst in te schakelen op regels voorafgegaan door de > karakter; stel de conversatieweergavestijl in op boom; we hebben het logo van de site ingesteld op een cartoon van het hoofd van deze schrijver en een gestileerde NSFW-beeldwaarschuwing geüpload.
Serieuzer, u wilt de standaardfeed kiezen die gebruikers zien wanneer ze inloggen en wat bezoekers zien zie wanneer ze niet zijn ingelogd, de manier waarop panelen zijn gerangschikt en de smaken of Markdown die u wilt veroorzaken.
Als je tevreden bent met de voorkant, ga dan naar Instellingen > Voorbeeld. Stel uw sitenaam en beschrijving in en bekijk vervolgens de limieten.
Hoewel reguliere sociale-mediasites een vrij lage tekenlimiet hebben, kunt u die van u instellen op wat u maar wilt. We hebben een limiet van 750.000 tekens ingesteld voor berichten uit onze eigen instantie, maar kozen ervoor om berichten van externe instanties te onderwerpen aan een limiet van slechts 100.000 tekens. U kunt ook limieten instellen voor het uploaden van bestanden en avatars.
Andere essentiële overwegingen zijn of u wilt dat gebruikers zich rechtstreeks op uw instantie kunnen registreren, of u dat wilt een systeem dat alleen op uitnodiging toegankelijk is, en of u zich wilt verenigen met andere instanties of uw sociale-mediasite in een prachtige afzondering wilt runnen. Er zitten zoveel opties in Instellingen, zou u een paar uur moeten besteden om er vertrouwd mee te raken.
Als u klaar bent, logt u in via uw hoofd-URL en begin uw Fediverse-volgers te laten groeien.
Akkoma is niet de enige Fediverse-server
Hoewel Akkoma onze favoriete Fediverse-server is en ideaal is voor het uitvoeren van een instance op je Raspberry Pi, is het verre van de enige.
De Fediverse is de ideale plek om een online stadsplein te bouwen voor groepen gelijkgestemden, en door met verschillende typen te experimenteren, kun je de perfecte server vinden om je eigen online te bouwen gemeenschap.