Como instalar um relé Nostr no Linux

Como instalar um relé Nostr no Linux

Nostr é um protocolo inovador que cria uma plataforma de mídia social descentralizada, leve e flexível. Para fazer isso funcionar, a rede Nostr depende de retransmissões de nós simples para transportar mensagens criptografadas aos destinatários pretendidos. Aqui, orientamos você no processo de criação de um nó Nostr Relay usando Nostream no Ubuntu. Também mostramos como se conectar ao seu novo nó nos clientes Gossip e Amethyst.

Por que usar o Nostream?

Nostream é um relé nostr, escrito em Typescript. A principal vantagem de usar o nostream é que ele lhe dá controle sobre seus dados de mídia social. Semelhante ao Pleroma , hospedar seu próprio nó de retransmissão Nostr significa que você possui sua plataforma e dados à medida que os transmite pela rede.

Além disso, o Nostream oferece suporte a uma instalação totalmente Dockerizada. Isso significa que você pode implantá-lo facilmente em qualquer pilha de servidores existente.

Instalando o Nostream

Obtendo Docker e Docker Compose

Suposição: Este artigo pressupõe que você tenha um VPS com pelo menos 8 GB de RAM, bem como um nome de domínio com registro A e PTR apontando para o endereço IP do seu servidor. Também pressupõe que você já tenha uma conta Nostr com um par de chaves funcionando.

Para começar, busque a chave de assinatura do repositório de pacotes binários do projeto 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

Crie um novo arquivo de repositório para Docker dentro de “/etc/apt/sources.list.d”:

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

Cole o seguinte bloco de código dentro do seu novo arquivo de repositório e salve-o:

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

Atualize e atualize seu sistema Ubuntu executando o seguinte comando:

sudo apt update && sudo apt upgrade

Instale o binário do Docker junto com seu plugin Docker Compose e dependências:

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

Por último, adicione seu usuário atual ao grupo de sistemas Docker:

sudo usermod -aG docker ramces

Obtendo e instalando nostream

Busque o repositório git para nostream e entre na pasta do repositório:

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

Execute o script de inicialização nostream para construir e implantar o daemon do servidor nostream como um contêiner Docker em seu sistema:

./scripts/start

Espere até que o contêiner nostream Docker imprima o logotipo “nostream” e pressione Ctrl+ C.

Um terminal mostrando nostream sendo executado com sucesso pela primeira vez.

Abra o arquivo de configuração da sua instância nostream usando seu editor de texto favorito:

nano. /.nostr/settings.yaml

Substitua o valor da variável relay_url: and name: pelo nome de domínio da sua instância.

Um terminal destacando o endereço nostream da instância.

Substitua o valor da variável pubkey: pela chave pública de sua conta Nostr primária.

Um terminal destacando a chave pública Nostr do administrador da instância.

Altere o endereço de e-mail na variável contact: por um endereço funcional que você está usando atualmente.

Um terminal destacando o endereço de e-mail do administrador da instância.

Abra o arquivo “docker-compose.yml” da sua instância:

nano. /docker-compose.yml

Role até a categoria “ambiente:” e substitua o valor da variável de ambiente “SECRET:” por uma sequência aleatória de caracteres.

Um terminal destacando o segredo aleatório central da instância.

Por último, reinicie sua instância nostream:

./scripts/start

Acessando o Nostream publicamente

Para poder acessar nostream em seu nome de domínio, precisamos criar um proxy reverso Nginx para rotear o tráfego para a instância do Docker.

Crie um novo arquivo de configuração de site para sua instância nostream:

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

Cole o seguinte bloco de código dentro do novo arquivo de configuração do site:

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;
}}

Crie um link simbólico para o seu novo arquivo de configuração do site dentro de “/etc/nginx/sites-enabled/”:

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

Teste as configurações do seu Nginx:

sudo nginx -t

Se tudo estiver bem, aplique as novas configurações reiniciando o daemon do servidor Nginx:

sudo systemctl restart nginx

Nostream seguro com certificado SSL

Certifique-se de que o pacote snap principal esteja sendo executado em seu VPS:

sudo snap install core

Instale o pacote snap certbot da Electronic Frontier Foundation (EFF):

sudo snap install certbot --classic

Registre a instalação do seu certbot no EFF executando o seguinte comando:

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

Solicite um novo certificado SSL para seu proxy reverso nostream:

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

Teste se o seu novo relé nostream está funcionando abrindo um navegador da web e navegando até seu endereço da web.

Uma captura de tela mostrando uma instalação nostream bem-sucedida.

Vinculando nostream ao cliente Gossip Nostr

Para vincular seu novo relé nostream ao Gossip, clique na categoria “Relés” na barra lateral esquerda do programa.

Uma captura de tela destacando o

Clique no botão Adicionar Relé na categoria “Relés”.

Uma captura de tela mostrando o conteúdo do

Isso abrirá uma pequena caixa de texto onde você pode escrever o endereço da sua instância nostream. Forneça o endereço do seu novo relé junto com o cabeçalho do protocolo WebSocket “wss://”.

Uma captura de tela mostrando o endereço do novo relé nostream.

Clique em “Verificar”, seguido de “Configurar” para configurar seu novo relé.

O Gossip irá então carregar uma página de configurações onde você pode determinar como seu novo relé se comportará com seu cliente. Para enviar e receber mensagens da sua instância, alterne as opções “Ler” e “Escrever” na página de configurações.

Alterne as opções “Caixa de entrada”, “Caixa de saída” e “Anunciar” para se comunicar com outros relés.

Uma captura de tela mostrando os recursos ativos da instância nostream atual.

Teste se o seu relé está funcionando corretamente enviando uma nova nota Nostr.

Uma captura de tela mostrando um exemplo de nota Nostr em Gossip.

Vinculando nostream ao cliente Amethyst Nostr

Além do Gossip, você também pode vincular sua nova instância nostream a outros clientes Nostr, como Amethyst. Para fazer isso, clique no ícone do usuário no canto superior esquerdo do aplicativo.

Uma captura de tela destacando o menu do usuário no Amethyst.

Clique na opção “Relés” na barra lateral pop-up.

Uma captura de tela destacando o

Selecione a caixa de texto “Adicionar um Relé” e digite o endereço do seu novo relé sem o cabeçalho do protocolo.

Uma captura de tela destacando o prompt de retransmissão.

Clique em “Adicionar” para aplicar sua nova instância nostream ao seu cliente.

Teste se sua nova instância está retransmitindo mensagens corretamente enviando um exemplo de nota Nostr.

Uma captura de tela mostrando um exemplo de nota Nostr em Ametista.

Hospedar uma retransmissão Nostr é apenas uma maneira de retomar o controle de sua vida digital. Além de sua própria plataforma de mídia social, você também pode servir uma plataforma de escritório em nuvem usando ownCloud , bem como hospedar seu próprio site de hospedagem de vídeo através do Peertube .

Crédito da imagem: Paulina Chmolowska via Unsplash . Todas as alterações e capturas de tela de Ramces Red.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *