Settare Istanza Nostr

Guida: https://usenostr.org/relay.html

Prerequisiti

  • VPS (o spazio)
  • Docker

Procedura

  1. Docker compose sulla macchina (VPS)
  • Server Caddy
version: "3.7"
name: "caddy-stack"
 
services:
  caddy:
    image: caddy:2-alpine
    container_name: caddy
    ports:
      - 80:80
      - 443:443
    networks:
      - caddy
      - default
    volumes:
      - ./caddy/Caddyfile:/etc/caddy/Caddyfile
      - ./caddy_data/data:/data
      - ./caddy_data/config:/config
    restart: unless-stopped
 
networks:
  caddy:
    name: caddy
  • Relay Nostr
version: "3.7"
services:
  public-relay:
    image: scsibug/nostr-rs-relay
    restart: on-failure
    volumes:
      - ${PWD}/data/relay/config.toml:/home/.nostr-rs-relay/config.toml
      - ${PWD}/data/relay/db:/home/.nostr-rs-relay/db
    container_name: public-relay
    networks:
      - caddy
  web:
    image: getumbrel/umbrel-nostr-relay
    build: .
    user: "1000:1000"
    container_name: public-relay-web
    restart: on-failure
    environment:
      RELAY_HOST: "public-relay"
      RELAY_PORT: "8080"
    # port 3000 web
    networks:
      - caddy
networks:
  caddy:
    name: caddy

Caddyfile di default.

  1. Acquistare un dominio

  2. Settare let’s encrypt usando let’s encrypt (preferibilmente con l’opzione DNS)

certbot certonly --preferred-challenge dns
  1. Cambiare il DNS del dominio facendolo puntare alla macchina dove sta girando Caddy.

  2. Scaricare o utilizzare un client Nostr e impostare il relay col dominio acquistato.

Client

Android

  • Nostros
    • la più completa, ma alcune ha qualche feature rotta
    • bassi tempi di caricamento
  • Amethyst
    • carina graficamente, funzionalmente ha dei problemi

iOS

  • Damus
    • il client per eccellenza

Web

  • Snort
    • sembra il migliore
  • Coracle
  • Iris, a client that throws you in instantly.
    • carino, ma non va
  • Yosup
    • non si carica, problemi col javascript
  • Primal
    • sembra che abbia la pubblicità