Используйте социальные сети с открытым исходным кодом, разместив свой собственный сервер Akkoma Fediverse на Raspberry Pi.

Fediverse — это сеть взаимосвязанных серверов социальных сетей, которые объединяются в единую сеть, где вы можете следить за интересующими вас людьми и взаимодействовать с ними.

Хотя самым известным типом сервера Fediverse является Mastodon, Fediverse является домом для десятков типов серверов. Akkoma — это полнофункциональный сервер, который легко развернуть на Raspberry Pi. Вот как…

Что такое Аккома?

Как и все серверы Fediverse, Akkoma использует для работы протокол ActivityPub. Он построен на популярной кодовой базе Pleroma, но заимствует функции у MissKey, например, возможность видеть, на каких типах серверов работают другие учетные записи пользователей. Akkoma находится в стадии активной разработки и регулярно обновляется.

С Akkoma вы можете добавлять свои собственные пакеты значков, использовать различные варианты уценки в сообщениях, настраивать то, что используйте внешний интерфейс вашего экземпляра Fediverse, редактируйте свои сообщения, цитируйте сообщения других людей и устанавливайте произвольный символ предел.

Как установить Аккому на Raspberry Pi

Поскольку вы используете свой Raspberry Pi в качестве сервера, вы должны сначала следовать нашему руководству по как настроить Raspberry Pi в качестве веб-сервера. На этом этапе вам не нужно выполнять шаги по настройке MariaDB, PHP или Docker Compose.

Как только ваш Pi будет готов к работе в качестве сервера, подключитесь к нему удаленно через SSH, а затем вручную установите последнюю версию Docker Compose.

Склонируйте репозиторий Akkoma Git и перейдите в него:

мерзавец клон https://akkoma.dev/AkkomaGang/akkoma.git -b стабильная && cd akkoma

Теперь установите переменные среды для Docker Compose с помощью следующей команды:

cp docker-resources/env.example .env 
эхо"DOCKER_USER=$(идентификатор -у):$(идентификатор -г)" >> .env

Этот процесс занимает несколько минут. Когда вы вернетесь в командную строку, вам нужно будет создать контейнер:

./докер-ресурсы/build.sh

Опять же, это займет некоторое время. Мы рассчитали процесс примерно на три минуты, что дает вам массу возможностей проверить другие собственные проекты, которые вы можете запустить на Raspberry Pi, или возможно играть в пасьянс в терминале Linux.

Тот факт, что вы создали контейнер Docker, еще не означает, что вы уже готовы его запустить. Вставьте следующую группу команд и нажмите Входить.

mkdir pgdata
./docker-resources/manage.sh микс deps.get
./docker-resources/manage.sh смешанная компиляция
./docker-resources/manage.sh mix pleroma.instance gen

Отвечать Д когда вас спросят, хотите ли вы установить Hex и rebar3. Приложение будет компилироваться еще около 12 минут. Используйте это время, чтобы послушать подкасты, которые поднимут вам настроение.

Чувствуя вдохновение и прилив сил, вы должны вернуться в командную строку и ответить на несколько вопросов о своем экземпляре. При появлении запроса введите свое доменное имя без http:// или https:// префикс, за которым следует имя вашего экземпляра и ваш адрес электронной почты.

Вам нужно будет выбрать, разрешать ли поисковым системам индексировать ваш сайт (это зависит от вас) и сохранять ли конфигурацию в базе данных. Выбирать да для этой опции, так как она позволит вам управлять своим экземпляром через веб-интерфейс администратора.

Установите имя хоста вашей базы данных как дБ, подтвердите имя базы данных и пользователя как аккома, и введите пароль базы данных как аккома.

Индексы RUM разрешить быстрый поиск в базе данных PostgreSQL, поэтому нажмите у когда вас спросят, хотите ли вы их использовать. Порт по умолчанию 4000. Вы можете оставить это как есть, если вы не используете порт 4000 для другого программного обеспечения, размещенного на собственном хостинге.

Простой способ проверить используемые порты — открыть другое окно или вкладку терминала и ввести:

судо 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 микс pleroma.frontend установить плерома-фе --ref стабильный
./docker-resources/manage.sh микс pleroma.frontend установитьадминистратор-fe --ref стабильный

Теперь вы готовы создать пользователя-администратора. Входить:

./docker-resources/manage.sh смешать pleroma.user новый ваше желаемое имя пользователя@домен.tld --admin

Эта команда вернет сводку введенной вами информации. Проверьте правильность, затем введите у.

Для вас будет сгенерирована ссылка для сброса пароля администратора. Поскольку ваш экземпляр еще не запущен и не подключен к Интернету, запишите ссылку на потом.

Разместите свой экземпляр Akkoma в Интернете

Вам нужно будет создать файл конфигурации Apache для вашего экземпляра Akkoma:

CD /etc/apache2/sites-available
судонаноаккома.conf

В новый файл вставьте следующее:

<Виртуальный хост *:80>

Имя сервераваше доменное имя.TLD

ПроксиПасс/http://127.0.0.1:4000/
ПроксиПассРеверс/http:/127.0.0.1:4000/
ProxyPreserveHost включен

Виртуальный хост>

Сохраните и выйдите из nano с помощью Ctrl + О затем Ctrl + Х. Включите файл conf, затем перезапустите Apache:

судоa2ensiteаккома.conf
перезагрузка службы sudo apache2

Теперь используйте Certbot для получения и развертывания сертификатов и ключей TLS:

sudo certbot

Выберите свое доменное имя из списка и нажмите Eптер. Перезапустите Apache снова с помощью:

перезагрузка службы sudo apache2

Вернитесь в каталог Akkoma и откройте Docker Compose в автономном режиме:

CD ~/аккома
docker-compose up -d

Подождите несколько минут, а затем посетите свой экземпляр Akkoma, используя ссылку для сброса пароля. Убедитесь, что вы выбрали надежный пароль для защиты экземпляра.

Настройте свой экземпляр Akkoma

Прежде чем делать что-либо еще, вам следует посетить страницу веб-администрирования по адресу ваше-доменное-имя.tld/pleroma/admin.

Здесь есть сотни вариантов, но пока вы можете смело игнорировать большинство из них. Выбирать Настройки > Внешний интерфейс, и прочитайте все, что можно изменить. Возможно, вы захотите выбрать другой внешний интерфейс из Pleroma по умолчанию или установить фон на другое изображение.

Что именно вы решите делать здесь, зависит от вас и ваших пользователей. Чтобы дать вам представление о том, что доступно, мы установили следующее в нашем демонстрационном экземпляре:

Мы решили включить зеленый текст в строках с префиксом > характер; установить стиль отображения беседы на дерево; мы установили логотип сайта в виде карикатуры на голову этого писателя и загрузили стилизованное изображение-предупреждение NSFW.

А если серьезно, вам нужно выбрать фид по умолчанию, который видят пользователи при входе в систему, и то, что посетители видеть, когда они не вошли в систему, как устроены панели, а также вкусы или Markdown, которые вы хотите оказывать.

Когда вы довольны интерфейсом, переходите к Настройки > Пример. Установите имя и описание вашего сайта, а затем посмотрите на ограничения.

В то время как основные сайты социальных сетей имеют довольно низкий лимит символов, вы можете установить все, что захотите. Мы установили ограничение в 750 000 символов для сообщений из нашего собственного экземпляра, но решили ограничивать сообщения из удаленных экземпляров всего лишь 100 000 символов. Вы также можете установить ограничения на загрузку файлов и аватаров.

Другие важные соображения включают в себя, хотите ли вы, чтобы пользователи могли регистрироваться на вашем экземпляре напрямую, предпочитаете ли вы система только по приглашению, и хотите ли вы объединиться с другими экземплярами или запустить свой сайт социальной сети в гордой изоляции. Есть так много вариантов в Настройки, вы должны потратить несколько часов на ознакомление с ними.

Когда вы закончите, войдите через свой основной URL и начните увеличивать количество подписчиков Fediverse.

Akkoma — не единственный сервер Fediverse

Хотя Akkoma является нашим любимым сервером Fediverse и идеально подходит для запуска экземпляра на Raspberry Pi, он далеко не единственный.

Fediverse — идеальное место для создания онлайн-площадки для групп единомышленников. экспериментируя с разными типами, вы сможете найти идеальный сервер для создания собственного онлайн-сервера. сообщество.