Gjør sosiale medier på åpen kildekode-måten ved å hoste din egen Akkoma Fediverse-server på en Raspberry Pi.
Fediverse er et nettverk av sammenkoblede sosiale medieservere som samles for å danne et sammenhengende nettverk, hvor du kan følge og samhandle med menneskene du er interessert i.
Mens den mest kjente Fediverse-servertypen er Mastodon, er Fediverse hjem til dusinvis av servertyper. Akkoma er en fullverdig server som er enkel å distribuere på din Raspberry Pi. Dette er hvordan…
Hva er Akkoma?
Som med alle Fediverse-servere, er Akkoma avhengig av at ActivityPub-protokollen kjører. Den er bygget på den populære Pleroma-kodebasen, men låner funksjoner fra MissKey – for eksempel muligheten til å se hvilke servertyper andre brukerkontoer kjører på. Akkoma er under svært aktiv utvikling og oppdateres jevnlig.
Med Akkoma kan du legge til dine egne ikonpakker, bruke en rekke markdown-smaker i innlegg, tilpasse hva frontend Fediverse-forekomsten din bruker, rediger innleggene dine, siter andres innlegg og angi en vilkårlig karakter grense.
Hvordan installere Akkoma på Raspberry Pi
Når du bruker din Raspberry Pi som server, bør du først følge veiledningen vår på hvordan sette opp Raspberry Pi som en webserver. Du trenger ikke å følge trinnene for å sette opp MariaDB, PHP eller Docker Compose på dette tidspunktet.
Når Pi-en din er klar til å fungere som en server, kobler du til den eksternt via SSH, og deretter installer den nyeste versjonen av Docker Compose manuelt.
Klon Akkoma Git-depotet og gå inn i det:
git klone https://akkoma.dev/AkkomaGang/akkoma.git -b stabil && cd akkoma
Sett nå miljøvariablene for Docker Compose med følgende kommando:
cp docker-resources/env.example .env
ekko"DOCKER_USER=$(id -u):$(id -g)" >> .env
Denne prosessen tar flere minutter. Når du kommer tilbake til ledeteksten, må du bygge en beholder:
./docker-resources/build.sh
Igjen, dette vil ta en stund. Vi tidsbestemte prosessen til rundt tre minutter, noe som gir deg mange muligheter til å sjekke ut andre selvdrevne prosjekter du kan kjøre på en Raspberry Pi, eller kanskje spill et spill Solitaire i Linux-terminalen.
Bare fordi du har opprettet en Docker-beholder betyr ikke det at du er klar til å kjøre den ennå. Lim inn følgende gruppe med kommandoer og trykk deretter Tast inn.
mkdir pgdata
./docker-resources/manage.sh mix deps.get
./docker-resources/manage.sh blanding kompilering
./docker-resources/manage.sh blanding pleroma.instance gen
Svar Y når du blir spurt om du vil installere Hex og rebar3. Appen vil kompilere i ytterligere 12 minutter. Bruk denne tiden til å lytte til noen podcaster som vil øke positiviteten din.
Føler deg inspirert og oppmuntret, bør du gå tilbake til kommandolinjen og svare på noen spørsmål om forekomsten din. Når du blir bedt om det, skriv inn domenenavnet ditt uten http:// eller https:// prefiks, etterfulgt av navnet på forekomsten din og e-postadressen din.
Du må velge om du vil la søkemotorer indeksere nettstedet ditt (det er opp til deg), og om du vil lagre konfigurasjonen i databasen. Velge ja for dette alternativet, da det lar deg administrere forekomsten din gjennom admin-nettgrensesnittet.
Angi vertsnavnet til databasen som db, bekreft databasenavnet og brukeren som akkoma, og skriv inn databasepassordet som akkoma.
RUM-indekser tillate raskt søk i PostgreSQL-databasen, så trykk y når du blir spurt om du vil bruke dem. Standardporten er 4000. Du kan la dette være som det er med mindre du bruker port 4000 for annen selvdrevet programvare.
En enkel måte å se etter porter som er i bruk, er å åpne et annet terminalvindu eller -fane og skrive inn:
sudo lsof -i -P -n | grep LYTT
Angi IP-en som appen lytter til 0.0.0.0, og godta de fornuftige standardinnstillingene for de resterende spørsmålene.
Prosessen vil avsluttes med instanskonfigurasjonen generert til config/generated_config.exs. Kopier denne filen til en ny plassering:
cp config/generated_config.exs config/prod.secret.exs
Følgende kommando vil returnere beholder-ID-en som en streng på 64 tegn. Kopier den et annet sted for oppbevaring. Bruk nå denne kommandoen for å sette opp databasen:
docker-compose kjøring --rm akkoma psql -h db -U akkoma -f config/setup_db.psql
Når beholderen er konfigurert, stopp den med:
havnearbeider Stoppe container_id_you_noted_earlier
Tast inn:
./docker-resources/manage.sh blanding ecto.migrate
...for å kjøre migreringer og rekompilere filene dine. Du vil se flere varsler om at "det tar mer enn 10s", og prosessen vil enkelt gi deg nok tid til å lage en kopp te.
Forekomsten din trenger et grensesnitt som brukerne kan samhandle med. Foreløpig trenger du bare Pleroma-grensesnittet og admin-grensesnittet:
./docker-resources/manage.sh bland pleroma.frontend installere pleroma-fe --ref stabil
./docker-resources/manage.sh bland pleroma.frontend installereadmin-fe --ref stabil
Du er nå klar til å opprette admin-brukeren. Tast inn:
./docker-resources/manage.sh bland pleroma.user ny ditt-ønskede brukernavn din e-post@domene.tld --admin
Denne kommandoen vil returnere et sammendrag av informasjonen du har lagt inn så langt. Sjekk at det er riktig, og skriv deretter inn y.
En lenke vil bli generert slik at du kan tilbakestille administratorpassordet. Siden forekomsten din ennå ikke kjører og ikke er eksponert for internett, noter ned koblingen for senere.
Utsett Akkoma-forekomsten din for nettet
Du må opprette en Apache-konfigurasjonsfil for din Akkoma-forekomst:
cd /etc/apache2/sites-available
sudonanoakkoma.conf
I den nye filen limer du inn følgende:
<VirtualHost *:80>
Server navnditt-domenenavn.tld
ProxyPass / http://127.0.0.1:4000/
ProxyPassReverse / http:/127.0.0.1:4000/
ProxyPreserveHost på
VirtualHost>
Lagre og avslutt nano med Ctrl + O deretter Ctrl + X. Aktiver conf-filen, og start deretter Apache på nytt:
sudoa2ensiteakkoma.conf
sudo-tjenesten apache2 omstart
Bruk nå Certbot til å hente og distribuere TLS-sertifikater og nøkler:
sudo certbot
Velg ditt domenenavn fra listen og trykk på Enter. Start Apache på nytt med:
sudo-tjenesten apache2 omstart
Naviger tilbake til Akkoma-katalogen din, og få frem Docker Compose i løsrevet modus:
cd ~/akkoma
docker-komponere opp -d
Vent noen minutter, og besøk deretter Akkoma-forekomsten ved å bruke lenken for tilbakestilling av passord. Pass på at du velger et sterkt passord for å sikre forekomsten.
Tilpass Akkoma-forekomsten din
Før du gjør noe annet, bør du besøke webadministrasjonssiden din på ditt-domenenavn.tld/pleroma/admin.
Det er hundrevis av alternativer her, men du kan trygt ignorere de fleste av dem foreløpig. Plukke ut Innstillinger > Frontend, og les gjennom alt det er mulig å endre. Det kan være lurt å velge en annen frontend enn standard Pleroma, eller sette bakgrunnen til et annet bilde.
Nøyaktig hva du velger å gjøre her er opp til deg og brukerne dine. For å gi deg en ide om hva som er tilgjengelig, stiller vi inn følgende på demoforekomsten vår:
Vi valgte å aktivere grønn tekst på linjer med prefikset > karakter; sett samtalevisningsstilen til treet; vi satte nettstedets logo til en tegneserie av denne forfatterens hode, og lastet opp en stilisert NSFW-bildeadvarsel.
Mer seriøst bør du velge standardfeeden brukere ser når de logger på, og hvilke besøkende se når de ikke er pålogget, hvordan paneler er ordnet og hvilke smaker eller Markdown du vil gjengi.
Når du er fornøyd med frontenden, gå over til Innstillinger > Forekomst. Angi navnet på nettstedet og beskrivelsen, og ta en titt på grensene.
Mens vanlige sosiale medier-sider har en ganske lav tegngrense, kan du sette din til hva du vil. Vi satte en grense på 750 000 tegn for innlegg fra vår egen instans, men valgte å begrense innlegg fra eksterne instanser til bare 100 000 tegn. Du kan også sette grenser for filopplastinger og avatarer.
Andre viktige hensyn inkluderer om du vil at brukere skal kunne registrere seg på instansen din direkte, enten du foretrekker det et system som kun er for invitasjoner, og om du ønsker å koble sammen med andre forekomster eller kjøre sosiale medier i fantastisk isolasjon. Det er så mange alternativer i Innstillinger, bør du bruke noen timer på å bli kjent med dem.
Når du er ferdig, logger du på via hoved-URLen din, og begynn å øke dine Fediverse-følgere.
Akkoma er ikke den eneste Fediverse-serveren
Selv om Akkoma er vår favoritt Fediverse-server, og er ideell for å kjøre en forekomst på din Raspberry Pi, er den langt fra den eneste.
Fediverse er det ideelle stedet for å bygge et online torg for grupper av likesinnede, og ved å eksperimentere med forskjellige typer, kan du finne den perfekte serveren for å bygge din egen online samfunnet.