Korzystaj z mediów społecznościowych w sposób open source, udostępniając własny serwer Akkoma Fediverse na Raspberry Pi.

Fediverse to sieć połączonych ze sobą serwerów mediów społecznościowych, które łączą się w spójną sieć, w której możesz śledzić osoby, którymi jesteś zainteresowany, i wchodzić z nimi w interakcje.

Chociaż najbardziej znanym typem serwera Fediverse jest Mastodon, Fediverse zawiera dziesiątki typów serwerów. Akkoma to w pełni funkcjonalny serwer, który można łatwo wdrożyć na Raspberry Pi. Oto jak…

Co to jest Akkoma?

Podobnie jak w przypadku wszystkich serwerów Fediverse, Akkoma polega na działaniu protokołu ActivityPub. Jest zbudowany na popularnym kodzie Pleroma, ale zapożycza funkcje od MissKey – takie jak możliwość sprawdzenia, na jakich typach serwerów działają inne konta użytkowników. Akkoma jest bardzo aktywnie rozwijana i jest regularnie aktualizowana.

Dzięki Akkoma możesz dodawać własne pakiety ikon, stosować różne smaki przeceny w postach, dostosowywać to, co front-end, z którego korzysta Twoja instancja Fediverse, edytuj swoje posty, cytuj posty innych osób i ustaw dowolny znak limit.

Jak zainstalować Akkomę na Raspberry Pi

Ponieważ używasz Raspberry Pi jako serwera, powinieneś najpierw postępować zgodnie z naszym przewodnikiem jak skonfigurować Raspberry Pi jako serwer WWW. W tym momencie nie musisz wykonywać kroków konfigurowania MariaDB, PHP lub Docker Compose.

Gdy Twoje Pi będzie gotowe do działania jako serwer, połącz się z nim zdalnie przez SSH, a następnie ręcznie zainstaluj najnowszą wersję Docker Compose.

Sklonuj repozytorium Akkoma Git i przenieś się do niego:

git klon https://akkoma.dev/AkkomaGang/akkoma.git -b stabilny && cd akkoma

Teraz ustaw zmienne środowiskowe dla Docker Compose za pomocą następującego polecenia:

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

Ten proces trwa kilka minut. Po powrocie do wiersza polecenia musisz zbudować kontener:

./docker-resources/build.sh

To zajmie trochę czasu. Przewidywaliśmy ten proces na około trzy minuty, co daje mnóstwo okazji do sprawdzenia innych samodzielnie hostowane projekty, które można uruchomić na Raspberry Pi, a może zagrać w pasjansa w terminalu Linux.

To, że utworzyłeś kontener Dockera, nie oznacza jeszcze, że jesteś gotowy do jego uruchomienia. Wklej następującą grupę poleceń, a następnie naciśnij Wchodzić.

mkdir pgdata
./docker-resources/manage.sh mix deps.get
Kompilacja ./docker-resources/manage.sh
./docker-resources/manage.sh mix pleroma.instance gen

Odpowiedź Y gdy zostaniesz zapytany, czy chcesz zainstalować Hex i rebar3. Aplikacja będzie się kompilować przez około 12 minut. Wykorzystaj ten czas, aby posłuchać niektórych podcasty, które wzmocnią Twój pozytywny nastrój.

Czując się zainspirowanym i ożywionym, powinieneś wrócić do wiersza poleceń i odpowiedzieć na kilka pytań dotyczących Twojej instancji. Po wyświetleniu monitu wprowadź nazwę domeny bez http:// Lub https:// przedrostek, po którym następuje nazwa instancji i adres e-mail.

Będziesz musiał zdecydować, czy chcesz, aby wyszukiwarki indeksowały Twoją witrynę (to zależy od Ciebie) i czy przechowywać konfigurację w bazie danych. Wybierać Tak dla tej opcji, ponieważ pozwoli Ci ona administrować instancją za pośrednictwem interfejsu internetowego administratora.

Ustaw nazwę hosta swojej bazy danych jako baza danych, potwierdź nazwę bazy danych i użytkownika jako Akkomai wprowadź hasło do bazy danych jako Akkoma.

indeksy rumu pozwalają na szybkie przeszukiwanie bazy danych PostgreSQL, więc stuknij y gdy zostaniesz zapytany, czy chcesz ich użyć. Domyślny port to 4000. Możesz zostawić to tak, jak jest, chyba że używasz portu 4000 dla innego samoobsługowego oprogramowania.

Łatwym sposobem sprawdzenia używanych portów jest otwarcie innego okna lub karty terminala i wprowadzenie:

sudo lsof -i -P -n | grep SŁUCHAJ

Ustaw adres IP, którego aplikacja będzie słuchać jako 0.0.0.0i zaakceptuj rozsądne wartości domyślne dla pozostałych pytań.

Proces zakończy się wygenerowaniem konfiguracji Twojej instancji do pliku config/generated_config.exs. Skopiuj ten plik do nowej lokalizacji:

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

Następujące polecenie zwróci identyfikator kontenera jako ciąg 64 znaków. Skopiuj go w inne miejsce na przechowanie. Teraz użyj tego polecenia, aby skonfigurować bazę danych:

uruchomienie tworzenia dokera --rm akkoma psql -h db -U akkoma -f config/setup_db.psql

Po pomyślnym skonfigurowaniu kontenera zatrzymaj go za pomocą:

doker zatrzymywać się container_id_you_noted_earlier

Wchodzić:

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

...aby uruchomić migracje i ponownie skompilować pliki. Zobaczysz wiele powiadomień, że „zajmie to więcej niż 10 sekund”, a proces z łatwością da ci wystarczająco dużo czasu na zrobienie filiżanki herbaty.

Twoja instancja będzie potrzebować interfejsu, z którym użytkownicy będą mogli wchodzić w interakcje. Na razie potrzebujesz tylko interfejsu Pleroma i interfejsu administratora:

./docker-resources/manage.sh mix pleroma.frontend zainstalować pleroma fe --ref stabilny
./docker-resources/manage.sh mix pleroma.frontend zainstalowaćAdmin-fe --ref stabilny

Możesz teraz utworzyć użytkownika administratora. Wchodzić:

./docker-resources/manage.sh mix pleroma.user nowy twoja-pożądana-nazwa-użytkownika twój e-mail@domena.tld --admin

To polecenie zwróci podsumowanie wprowadzonych do tej pory informacji. Sprawdź, czy jest poprawny, a następnie wprowadź y.

Zostanie wygenerowany link do zresetowania hasła administratora. Ponieważ Twoja instancja nie jest jeszcze uruchomiona i nie jest dostępna w Internecie, zanotuj link na później.

Udostępnij swoją instancję Akkoma w sieci

Będziesz musiał utworzyć plik konfiguracyjny Apache dla swojej instancji Akkoma:

płyta CD /etc/apache2/sites-available
SudonanoAkkoma.konf

W nowym pliku wklej następujące elementy:

<Wirtualny Host *:80>

Nazwa serweranazwa-twojej-domeny.tld

ProxyPass / http://127.0.0.1:4000/
ProxyPassReverse / http:/127.0.0.1:4000/
ProxyPreserveHost włączony

Wirtualny Host>

Zapisz i wyjdź z nano za pomocą Ctrl + O Następnie Ctrl + X. Włącz plik conf, a następnie zrestartuj Apache:

Sudoa2ensiteAkkoma.konf
Sudo ponowne uruchomienie usługi Apache2

Teraz użyj Certbot do pobierania i wdrażania certyfikatów i kluczy TLS:

sudo certbot

Wybierz nazwę swojej domeny z listy i naciśnij Enter. Uruchom ponownie Apache ponownie za pomocą:

Sudo ponowne uruchomienie usługi Apache2

Wróć do katalogu Akkoma i uruchom Docker Compose w trybie odłączonym:

płyta CD ~/akkoma
tworzenie dokerów -d

Poczekaj kilka minut, a następnie odwiedź swoją instancję Akkoma, korzystając z linku do resetowania hasła. Upewnij się, że wybrałeś silne hasło, aby zabezpieczyć instancję.

Dostosuj swoją instancję Akkoma

Zanim zrobisz cokolwiek innego, powinieneś odwiedzić swoją stronę administracyjną pod adresem twoja-nazwa-domeny.tld/pleroma/admin.

Są tu setki opcji, ale na razie możesz bezpiecznie zignorować większość z nich. Wybierać Ustawienia > Interfejs użytkownikai przeczytaj wszystkie rzeczy, które można zmienić. Możesz wybrać inny interfejs niż domyślna Pleroma lub ustawić tło na inny obraz.

To, co dokładnie wybierzesz, zależy od Ciebie i Twoich użytkowników. Aby dać Ci wyobrażenie o tym, co jest dostępne, ustawiliśmy następujące ustawienia w naszej instancji demonstracyjnej:

Zdecydowaliśmy się włączyć zielony tekst w wierszach z prefiksem > postać; ustaw styl wyświetlania konwersacji na drzewo; ustawiliśmy logo witryny na kreskówkę przedstawiającą głowę tego pisarza i przesłaliśmy stylizowane ostrzeżenie graficzne NSFW.

Mówiąc poważniej, będziesz chciał wybrać domyślny kanał, który użytkownicy zobaczą, kiedy się zalogują i jacy odwiedzający zobacz, kiedy nie są zalogowani, jak ułożone są panele i jakie smaki lub Markdown chcesz renderowanie.

Kiedy będziesz zadowolony z frontu, przejdź do Ustawienia > Instancja. Ustaw nazwę i opis witryny, a następnie spójrz na ograniczenia.

Podczas gdy główne serwisy społecznościowe mają dość niski limit znaków, możesz ustawić swój na dowolny. Ustaliliśmy limit 750 000 znaków dla postów z naszej własnej instancji, ale postanowiliśmy ograniczyć posty ze zdalnych instancji do zaledwie 100 000 znaków. Możesz także ustawić limity przesyłania plików i awatarów.

Inne ważne kwestie obejmują to, czy chcesz, aby użytkownicy mogli rejestrować się bezpośrednio w Twojej instancji, czy wolisz system tylko dla zaproszonych i niezależnie od tego, czy chcesz sfederować się z innymi instancjami, czy też prowadzić swój serwis społecznościowy w doskonałej izolacji. Jest tak wiele opcji w Ustawienia, powinieneś poświęcić kilka godzin na zapoznanie się z nimi.

Kiedy skończysz, zaloguj się za pomocą głównego adresu URL i zacznij powiększać liczbę obserwujących Fediverse.

Akkoma nie jest jedynym serwerem Fediverse

Chociaż Akkoma jest naszym ulubionym serwerem Fediverse i jest idealny do uruchamiania instancji na twoim Raspberry Pi, nie jest jedynym.

Fediverse to idealne miejsce do zbudowania internetowego placu miejskiego dla grup podobnie myślących ludzi i eksperymentując z różnymi typami, możesz znaleźć idealny serwer do zbudowania własnego online wspólnota.