Правете социални медии по начин с отворен код, като хоствате свой собствен сървър Akkoma Fediverse на Raspberry Pi.
Fediverse е мрежа от взаимосвързани сървъри на социални медии, които се обединяват, за да образуват съгласувана мрежа, където можете да следвате и да взаимодействате с хората, които ви интересуват.
Докато най-известният тип сървър Fediverse е Mastodon, Fediverse е дом на десетки видове сървъри. Akkoma е пълнофункционален сървър, който е лесен за внедряване на вашия Raspberry Pi. Ето как…
Какво е Akkoma?
Както при всички сървъри на Fediverse, Akkoma разчита на протокола ActivityPub за работа. Той е изграден върху популярната кодова база Pleroma, но заимства функции от MissKey - като възможността да видите на какви типове сървъри работят други потребителски акаунти. Akkoma е в процес на много активно развитие и се актуализира редовно.
С Akkoma можете да добавяте свои собствени пакети с икони, да използвате разнообразие от маркдауни в публикациите, да персонализирате какво преден край, който вашият екземпляр на Fediverse използва, редактирайте вашите публикации, цитирайте публикации на други хора и задайте произволен знак лимит.
Как да инсталирате Akkoma на Raspberry Pi
Тъй като използвате вашия Raspberry Pi като сървър, първо трябва да следвате нашето ръководство за как да настроите своя Raspberry Pi като уеб сървър. На този етап не е необходимо да следвате стъпките за настройка на MariaDB, PHP или Docker Compose.
След като вашият Pi е готов да функционира като сървър, свържете се с него дистанционно чрез SSH и след това ръчно инсталирайте най-новата версия на Docker Compose.
Клонирайте хранилището на Akkoma Git и се преместете в него:
git клонинг https://akkoma.dev/AkkomaGang/akkoma.git -b stable && cd akkoma
Сега задайте променливите на средата за Docker Compose със следната команда:
cp docker-resources/env.example .env
ехо„DOCKER_USER=$(id -u):$(id -g)" >> .env
Този процес отнема няколко минути. Когато се върнете към командния ред, ще трябва да създадете контейнер:
./docker-resources/build.sh
Отново, това ще отнеме известно време. Времевихме процеса на около три минути, което ви дава много възможности да проверите други самостоятелно хоствани проекти, които можете да изпълнявате на Raspberry Pi, или може би играйте пасианс в терминала на Linux.
Това, че сте създали Docker контейнер, още не означава, че сте готови да го стартирате. Поставете следната група команди и след това натиснете Въведете.
mkdir pgdata
./docker-resources/manage.sh mix deps.get
./docker-resources/manage.sh микс компилация
./docker-resources/manage.sh mix pleroma.instance gen
Отговор Y когато бъдете попитани дали искате да инсталирате Hex и rebar3. Приложението ще се компилира за около още 12 минути. Използвайте това време, за да чуете някои подкасти, които ще повишат вашата позитивност.
Чувствайки се вдъхновени и ободрени, трябва да се върнете към командния ред и да отговорите на някои въпроси относно вашия екземпляр. Когато бъдете подканени, въведете името на вашия домейн без http:// или https:// префикс, последван от името на вашето копие и вашия имейл адрес.
Ще трябва да изберете дали да позволите на търсачките да индексират вашия сайт (зависи от вас) и дали да съхраните конфигурацията в базата данни. Избирам да за тази опция, тъй като тя ще ви позволи да администрирате вашия екземпляр чрез администраторския уеб интерфейс.
Задайте името на хоста на вашата база данни като db, потвърдете името на базата данни и потребителя като akkomaи въведете паролата на базата данни като akkoma.
RUM индекси позволяват бързо търсене в базата данни на PostgreSQL, така че докоснете г на въпрос дали искате да ги използвате. Портът по подразбиране е 4000. Можете да оставите това както е, освен ако не използвате порт 4000 за друг самостоятелно хостван софтуер.
Лесен начин да проверите за използвани портове е да отворите друг терминален прозорец или раздел и да въведете:
sudo lsof -i -P -n | grep СЛУШАЙТЕ
Задайте IP адреса, който приложението ще слуша 0.0.0.0и приемете разумните настройки по подразбиране за останалите въпроси.
Процесът ще завърши с генериране на вашата конфигурация на екземпляр в config/generated_config.exs. Копирайте този файл на ново място:
cp config/generated_config.exs config/prod.secret.exs
Следващата команда ще върне идентификатора на контейнера като низ от 64 знака. Копирайте го другаде за безопасно съхранение. Сега използвайте тази команда, за да настроите базата данни:
docker-compose изпълнение --rm akkoma psql -h db -U akkoma -f config/setup_db.psql
Когато контейнерът е настроен успешно, спрете го с:
докер Спри се container_id_you_noted_earlier
Въведете:
./docker-resources/manage.sh микс ecto.migrate
...за да стартирате миграции и да прекомпилирате вашите файлове. Ще видите множество известия, че „отнема повече от 10 секунди“ и процесът лесно ще ви даде достатъчно време, за да си направите чаша чай.
Вашият екземпляр ще се нуждае от интерфейс, с който потребителите да взаимодействат. Засега ще имате нужда само от предния край на Pleroma и административния преден край:
./docker-resources/manage.sh mix pleroma.frontend Инсталирай плерома-fe --ref стабилен
./docker-resources/manage.sh mix pleroma.frontend Инсталирайадминистратор-fe --ref стабилен
Вече сте готови да създадете администраторския потребител. Въведете:
./docker-resources/manage.sh mix pleroma.user нов вашето-желано-потребителско име вашия имейл@домейн.tld --admin
Тази команда ще върне обобщение на информацията, която сте въвели досега. Проверете дали е правилно и след това въведете г.
Ще бъде генерирана връзка за нулиране на администраторската парола. Тъй като екземплярът ви все още не работи и не е изложен в интернет, запишете връзката за по-късно.
Изложете вашето копие на Akkoma в мрежата
Ще трябва да създадете конфигурационен файл на Apache за вашето копие на Akkoma:
cd /etc/apache2/sites-available
sudoнаноakkoma.conf
В новия файл поставете следното:
<VirtualHost *:80>
Име на сървъраимето на вашия-домейн.tld
ProxyPass / http://127.0.0.1:4000/
ProxyPassReverse / http:/127.0.0.1:4000/
ProxyPreserveHost включен
VirtualHost>
Запазете и излезте от nano с Ctrl + O тогава Ctrl + X. Активирайте conf файла, след което рестартирайте Apache:
sudoa2ensiteakkoma.conf
sudo service apache2 рестартиране
Сега използвайте Certbot, за да извлечете и внедрите TLS сертификати и ключове:
sudo certbot
Изберете името на вашия домейн от списъка и натиснете Eнтер. Рестартирайте отново Apache с:
sudo service apache2 рестартиране
Върнете се до вашата директория Akkoma и изведете Docker Compose в отделен режим:
cd ~/аккома
докер-съставяне -d
Изчакайте няколко минути, след което посетете вашето копие на Akkoma, като използвате връзката за нулиране на парола. Уверете се, че сте избрали силна парола, за да защитите екземпляра.
Персонализирайте своя екземпляр на Akkoma
Преди да направите нещо друго, трябва да посетите страницата си за уеб администратор на името на вашия-домейн.tld/pleroma/admin.
Тук има стотици опции, но можете спокойно да пренебрегнете повечето от тях засега. Изберете Настройки > Frontendи прочетете всички неща, които можете да промените. Може да искате да изберете различен преден край от Pleroma по подразбиране или да зададете фон на различно изображение.
Какво точно ще изберете да правите тук зависи от вас и вашите потребители. За да ви дадем представа какво е налично, ние задаваме следното в нашия демонстрационен екземпляр:
Избрахме да активираме зелен текст на редове с префикс > характер; задайте стила на показване на разговора на дърво; поставихме логото на сайта на карикатура на главата на този писател и качихме стилизирано предупреждение за изображение на NSFW.
По-сериозно, ще искате да изберете емисията по подразбиране, която потребителите да виждат, когато влизат, и какви посетители вижте кога не са влезли, начина, по който са подредени панелите и вкусовете или Markdown, които искате да изобразявам.
Когато сте доволни от предния край, преминете към Настройки > Инстанция. Задайте име и описание на вашия сайт, след което погледнете ограниченията.
Докато масовите сайтове за социални медии имат доста ниско ограничение за знаци, вие можете да зададете каквото пожелаете. Поставихме ограничение от 750 000 знака за публикации от нашия собствен екземпляр, но избрахме да подложим публикации от отдалечени екземпляри на ограничение от едва 100 000 знака. Можете също да зададете ограничения за качване на файлове и аватари.
Други жизненоважни съображения включват дали искате потребителите да могат да се регистрират директно във вашия екземпляр, независимо дали предпочитате система само за покани и дали искате да се обедините с други екземпляри или да управлявате сайта си за социални медии в прекрасна изолация. Има толкова много опции в Настройки, трябва да прекарате няколко часа, за да се запознаете с тях.
Когато сте готови, влезте през основния си URL адрес и започнете да увеличавате своите последователи във Fediverse.
Akkoma не е единственият Fediverse сървър
Докато Akkoma е любимият ни Fediverse сървър и е идеален за стартиране на екземпляр на вашия Raspberry Pi, той далеч не е единственият.
Fediverse е идеалното място за изграждане на онлайн градски площад за групи от съмишленици и като експериментирате с различни типове, можете да намерите идеалния сървър, за да изградите свой собствен онлайн общност.