Utilizza i social media in modo open source ospitando il tuo server Akkoma Fediverse su un Raspberry Pi.
Il Fediverso è una rete di server di social media interconnessi che si federano per formare una rete coerente, dove puoi seguire e interagire con le persone che ti interessano.
Mentre il tipo di server Fediverse più noto è Mastodon, il Fediverse ospita dozzine di tipi di server. Akkoma è un server completo che è facile da implementare sul tuo Raspberry Pi. Ecco come…
Cos'è Akkoma?
Come con tutti i server Fediverse, Akkoma si affida al protocollo ActivityPub per funzionare. È costruito sulla popolare base di codice Pleroma, ma prende in prestito funzionalità da MissKey, come la possibilità di vedere su quali tipi di server sono in esecuzione altri account utente. Akkoma è in fase di sviluppo molto attivo e viene aggiornato regolarmente.
Con Akkoma, puoi aggiungere i tuoi pacchetti di icone, utilizzare una varietà di gusti di markdown nei post, personalizzare cosa front-end utilizzato dalla tua istanza Fediverse, modifica i tuoi post, cita i post di altre persone e imposta un carattere arbitrario limite.
Come installare Akkoma su Raspberry Pi
Dato che stai usando il tuo Raspberry Pi come server, dovresti prima seguire la nostra guida su come configurare il tuo Raspberry Pi come server web. A questo punto non è necessario seguire i passaggi per configurare MariaDB, PHP o Docker Compose.
Una volta che il tuo Pi è pronto per funzionare come server, connettiti ad esso in remoto tramite SSH, quindi installare manualmente l'ultima versione di Docker Compose.
Clona il repository Git di Akkoma e spostati al suo interno:
idiota clone https://akkoma.dev/AkkomaGang/akkoma.git -b stabile && cd akkoma
Ora imposta le variabili ambientali per Docker Compose con il seguente comando:
cp docker-resources/env.example .env
eco"DOCKER_USER=$(id-u):$(id-g)" >> .env
Questo processo richiede diversi minuti. Quando torni al prompt dei comandi, dovrai creare un contenitore:
./docker-resources/build.sh
Di nuovo, questo richiederà un po' di tempo. Abbiamo programmato il processo a circa tre minuti, il che ti offre molte opportunità di verificarne altri progetti self-hosted che puoi eseguire su un Raspberry Pi, o forse giocare a Solitario nel terminale Linux.
Solo perché hai creato un contenitore Docker non significa che sei ancora pronto per eseguirlo. Incolla il seguente gruppo di comandi e premi accedere.
mkdir pgdata
./docker-resources/manage.sh mescola deps.get
./docker-resources/manage.sh mix compila
./docker-resources/manage.sh mix pleroma.instance gen
Risposta Y quando ti viene chiesto se desideri installare Hex e rebar3. L'app verrà compilata per circa altri 12 minuti. Usa questo tempo per ascoltarne qualcuno podcast che aumenteranno la tua positività.
Sentendoti ispirato e rinvigorito, dovresti tornare alla riga di comando e rispondere ad alcune domande sulla tua istanza. Quando richiesto, inserisci il tuo nome di dominio senza il http:// O https:// prefisso, seguito dal nome della tua istanza e dal tuo indirizzo email.
Dovrai scegliere se consentire ai motori di ricerca di indicizzare il tuo sito (dipende da te) e se memorizzare la configurazione nel database. Scegliere SÌ per questa opzione in quanto ti consentirà di amministrare la tua istanza tramite l'interfaccia web di amministrazione.
Imposta il nome host del tuo database come db, confermare il nome del database e l'utente come akkomae inserisci la password del database come akkoma.
Indici RUM consentire una ricerca rapida nel database PostgreSQL, quindi toccare si quando ti viene chiesto se vuoi usarli. La porta predefinita è 4000. Puoi lasciarlo così com'è a meno che tu non stia utilizzando la porta 4000 per altri software self-hosted.
Un modo semplice per controllare le porte in uso è aprire un'altra finestra o scheda del terminale e inserire:
sudo lsof -i -P -n | grep ASCOLTA
Imposta l'IP che l'app ascolterà come 0.0.0.0e accettare le impostazioni predefinite ragionevoli per le domande rimanenti.
Il processo terminerà con la configurazione dell'istanza generata in config/generated_config.exs. Copia questo file in una nuova posizione:
cp config/generated_config.exs config/prod.secret.exs
Il seguente comando restituirà l'ID contenitore come stringa di 64 caratteri. Copialo altrove per sicurezza. Ora usa questo comando per configurare il database:
esecuzione della composizione della finestra mobile --rm akkoma psql -h db -U akkoma -f config/setup_db.psql
Quando il contenitore è stato configurato correttamente, fermalo con:
docker fermare container_id_you_noted_earlier
Accedere:
./docker-resources/manage.sh mescola ecto.migrate
...per eseguire le migrazioni e ricompilare i file. Vedrai più notifiche che "ci vogliono più di 10 secondi" e il processo ti darà facilmente abbastanza tempo per preparare una tazza di tè.
La tua istanza avrà bisogno di un'interfaccia con cui gli utenti possano interagire. Per ora, avrai solo bisogno del front-end Pleroma e del front-end amministrativo:
./docker-resources/manage.sh mescola pleroma.frontend installare pleroma-fe --ref stabile
./docker-resources/manage.sh mescola pleroma.frontend installareadmin-fe --ref stabile
Ora sei pronto per creare l'utente admin. Accedere:
./docker-resources/manage.sh mescola pleroma.user nuovo il-nome-utente-desiderato la tuae-mail@dominio.tld --admin
Questo comando restituirà un riepilogo delle informazioni che hai inserito finora. Controlla che sia corretto, quindi entra si.
Verrà generato un collegamento per reimpostare la password dell'amministratore. Poiché la tua istanza non è ancora in esecuzione e non è esposta a Internet, annota il collegamento per dopo.
Esponi la tua istanza Akkoma al Web
Dovrai creare un file di configurazione Apache per la tua istanza Akkoma:
CD /etc/apache2/sites-available
sudonanoakkoma.conf
Nel nuovo file, incolla quanto segue:
<Host virtuale *:80>
Nome del serveril tuo-nome-di-dominio.tld
ProxyPass / http://127.0.0.1:4000/
ProxyPassReverse / http:/127.0.0.1:4000/
ProxyPreserveHost attivato
Host virtuale>
Salva ed esci da nano con Ctrl+O Poi Ctrl+X. Abilita il file conf, quindi riavvia Apache:
sudoa2ensiteakkoma.conf
sudo service apache2 riavviare
Ora usa Certbot per recuperare e distribuire certificati e chiavi TLS:
sudocertbot
Seleziona il tuo nome di dominio dall'elenco e premi Eentra. Riavvia nuovamente Apache con:
sudo service apache2 riavviare
Torna alla tua directory Akkoma e visualizza Docker Compose in modalità separata:
CD ~/akkoma
docker-componi -d
Attendi qualche minuto, quindi visita la tua istanza Akkoma utilizzando il link per reimpostare la password. Assicurati di scegliere una password complessa per proteggere l'istanza.
Personalizza la tua istanza Akkoma
Prima di fare qualsiasi altra cosa, dovresti visitare la tua pagina di amministrazione web all'indirizzo tuo-nome-dominio.tld/pleroma/admin.
Ci sono centinaia di opzioni qui, ma puoi tranquillamente ignorarne la maggior parte per ora. Selezionare Impostazioni > Fine frontalee leggi tutte le cose che è possibile cambiare. Potresti voler scegliere un front-end diverso dal Pleroma predefinito o impostare lo sfondo su un'immagine diversa.
Esattamente ciò che scegli di fare qui dipende da te e dai tuoi utenti. Per darti un'idea di ciò che è disponibile, impostiamo quanto segue sulla nostra istanza demo:
Abbiamo scelto di abilitare il testo verde sulle righe con il prefisso > carattere; imposta lo stile di visualizzazione della conversazione ad albero; abbiamo impostato il logo del sito su un cartone animato della testa di questo scrittore e abbiamo caricato un avviso di immagine NSFW stilizzato.
Più seriamente, ti consigliamo di scegliere il feed predefinito che gli utenti vedono quando accedono e quali visitatori vedi quando non hanno effettuato l'accesso, il modo in cui sono disposti i pannelli e i sapori o Markdown che desideri rendere.
Quando sei soddisfatto del front-end, vai a Impostazioni > Esempio. Imposta il nome e la descrizione del tuo sito, quindi dai un'occhiata ai limiti.
Mentre i principali siti di social media hanno un limite di caratteri piuttosto basso, puoi impostare il tuo su quello che vuoi. Abbiamo fissato un limite di 750.000 caratteri per i post della nostra istanza, ma abbiamo scelto di sottoporre i post delle istanze remote a un limite di soli 100.000 caratteri. Puoi anche impostare limiti per i caricamenti di file e gli avatar.
Altre considerazioni fondamentali includono se desideri che gli utenti siano in grado di registrarsi direttamente sulla tua istanza, se preferisci un sistema solo su invito e se desideri federare con altre istanze o eseguire il tuo sito di social media in uno splendido isolamento. Ci sono così tante opzioni in Impostazioni, dovresti dedicare qualche ora a familiarizzarti con loro.
Quando hai finito, accedi tramite il tuo URL principale e inizia a far crescere i tuoi follower su Fediverse.
Akkoma non è l'unico server Fediverse
Mentre Akkoma è il nostro server Fediverse preferito ed è l'ideale per eseguire un'istanza sul tuo Raspberry Pi, è tutt'altro che l'unico.
Il Fediverso è il luogo ideale per costruire una piazza cittadina online per gruppi di persone che la pensano allo stesso modo, e sperimentando diversi tipi, puoi trovare il server perfetto per costruire il tuo online Comunità.