Как установить ретранслятор Nostr в Linux

Nostr – это инновационный протокол, создающий децентрализованную платформу социальных сетей, которая отличается легкостью и гибкостью. Здесь мы расскажем вам о том, как создать узел Nostr Relay с помощью Nostream на Ubuntu Мы также покажем, как подключиться к новому узлу на клиентах Gossip и Amethyst.

Зачем использовать Nostream?

Nostream – это ретранслятор nostr, написанный на языке Typescript. Основное преимущество использования nostream заключается в том, что он дает вам контроль над данными в социальных сетях. Как и в случае с pleroma, размещение собственного узла ретрансляции Nostr означает, что вы владеете своей платформой и данными, передаваемыми по сети.

Кроме того, Nostream поддерживает полностью Docker-ориентированную установку. Это означает, что вы можете легко развернуть его на любом существующем серверном стеке.

Установка Nostream

Получение Docker Compose

В этой статье предполагается, что у вас есть VPS с оперативной памятью не менее 8 Гбайт, а также доменное имя с A- и PTR-записями, указывающей на IP-адрес вашего сервера. Также предполагается, что у вас уже есть учетная запись Nostr с рабочей парой ключей.

Для начала получите ключ подписи для репозитория бинарных пакетов проекта Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Создайте новый файл репозитория для Docker в файле «/etc/apt/sources.list.d»:

sudo nano /etc/apt/sources.list.d/docker.list

Вставьте следующий блок кода в новый файл репозитория и сохраните его:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

Обновите и модернизируйте систему Ubuntu выполнив следующую команду:

sudo apt update && sudo apt upgrade

Установите бинарный файл Docker вместе с плагином Docker Compose и зависимостями:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git nodejs npm

Последнее, добавьте текущего пользователя в системную группу Docker:

sudo usermod -aG docker ramces

Получение и установка nostream

Получите git-репозиторий nostream и перейдите в папку репозитория:

git clone https://github.com/Cameri/nostream.git && cd ./nostream

Запустите скрипт nostream bootstrap для сборки и развертывания демона сервера nostream в качестве контейнера Docker на вашей системе:

./scripts/start

Дождитесь, пока Docker-контейнер nostream напечатает логотип «nostream», затем нажмите Ctrl + C.

Откройте файл конфигурации экземпляра nostream с помощью любимого текстового редактора:

nano ./.nostr/settings.yaml

Замените значение переменных relay_url: и name: на доменное имя экземпляра.

Замените значение переменной pubkey: на открытый ключ вашего основного аккаунта Nostr.

Измените адрес электронной почты в переменной contact: на рабочий, который вы используете в данный момент.

Откройте файл «docker-compose.yml» вашего экземпляра:

nano ./docker-compose.yml

Перейдите к категории «environment:», затем замените значение переменной окружения «SECRET:» на случайную строку символов.

Примечание: Для генерации случайной строки символов можно выполнить следующую команду: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 64 | head -n 1

После этого перезапустите ваш экземпляр nostream:

./scripts/start

Доступ к Nostream публично

Чтобы получить доступ к nostream на вашем доменном имени, нам необходимо создать Обратный прокси-сервер Nginx для маршрутизации трафика к экземпляру Docker

Создайте новый файл конфигурации сайта для экземпляра nostream:

sudo nano /etc/nginx/sites-available/nostream

Вставьте следующий блок кода в новый файл конфигурации сайта:

server {
        server_name nostr.myvpsserver.top;
        location / {
                proxy_pass http://127.0.0.1:8008;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $host;
        }
}

Создайте символическую ссылку для нового файла конфигурации сайта в файле «/etc/nginx/sites-enabled/»:

sudo ln -s /etc/nginx/sites-available/nostream /etc/nginx/sites-enabled

Тестируйте настройки Nginx:

sudo nginx -t

Если все в порядке, примените новые настройки, перезапустив демон сервера Nginx:

sudo systemctl restart nginx

Защита Nostream с помощью SSL-сертификата

Убедитесь, что на вашем VPS запущен основной пакет snap:

sudo snap install core

Установите пакет certbot snap от Electronic Frontier Foundation (EFF):

sudo snap install certbot --classic

Зарегистрируйте свою установку certbot в EFF, выполнив следующую команду:

sudo certbot register --agree-tos -m you@your-email.invalid

Запросите новый SSL-сертификат для обратного прокси-сервера nostream:

sudo certbot --nginx -d nostr.myvpsserver.top

Проверьте, работает ли ваш новый релей nostream, открыв браузер и перейдя на его веб-адрес.

Подключение nostream к Gossip Nostr Client

Чтобы подключить новый ретранслятор nostream к Gossip, щелкните категорию «Релеи» на левой боковой панели программы.

Нажмите кнопку Add Relay в категории «Relays».

В результате появится небольшое текстовое поле, в котором можно написать адрес вашего экземпляра nostream. Укажите адрес нового ретранслятора вместе с заголовком протокола WebSocket «wss://».

Нажмите кнопку «Check», затем «Configure» для настройки нового ретранслятора.

Gossip загрузит страницу настроек, где вы сможете определить, как новый ретранслятор будет вести себя с вашим клиентом. Чтобы отправлять и получать сообщения от своего экземпляра, переключите переключатели «Чтение» и «Запись» на странице настроек.

Для связи с другими реле переключите переключатели «Входящие», «Исходящие» и «Рекламировать».

Проверьте работоспособность своего реле, отправив новую заметку Nostr.

Связь nostream с Nostr-клиентом Amethyst

Помимо Gossip, вы можете связать ваш новый экземпляр nostream с другими Nostr-клиентами, например Amethyst. Для этого щелкните значок пользователя в левом верхнем углу приложения.

На боковой панели выберите опцию «Relays».

Выберите текстовое поле «Добавить ретранслятор» и введите адрес нового ретранслятора без заголовка протокола.

Нажмите кнопку «Добавить», чтобы применить новый экземпляр nostream к вашему клиенту.

Проверьте, правильно ли ваш новый экземпляр передает сообщения, отправив образец записки Nostr.

Размещение ретранслятора Nostr – это лишь один из способов вернуть контроль над своей цифровой жизнью.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен feeds.maketecheasier.com

Комментарии (0)