Linux에 Nostr Relay를 설치하는 방법

Linux에 Nostr Relay를 설치하는 방법

Nostr은 가볍고 유연한 분산형 소셜 미디어 플랫폼을 만드는 혁신적인 프로토콜입니다. 이 작업을 수행하기 위해 Nostr 네트워크는 간단한 노드 릴레이를 사용하여 암호화된 메시지를 의도된 수신자에게 전달합니다. 여기서는 Ubuntu에서 Nostream을 사용하여 Nostr Relay 노드를 생성하는 과정을 안내합니다. 또한 Gossip 및 Amethyst 클라이언트 모두에서 새 노드에 연결하는 방법도 보여줍니다.

Nostream을 사용하는 이유는 무엇입니까?

Nostream 은 Typescript로 작성된 nostr 릴레이입니다. nostream 사용의 가장 큰 장점은 소셜 미디어 데이터를 제어할 수 있다는 것입니다. Pleroma 와 마찬가지로 자체 Nostr 릴레이 노드를 호스팅한다는 것은 네트워크를 통해 브로드캐스팅할 때 플랫폼과 데이터를 소유한다는 것을 의미합니다.

또한 Nostream은 완전한 Dockerized 설치를 지원합니다. 이는 기존 서버 스택에 쉽게 배포할 수 있음을 의미합니다.

노스트림 설치

Docker 및 Docker Compose 얻기

가정: 이 문서에서는 최소 8GB RAM을 갖춘 VPS와 서버의 IP 주소를 가리키는 A 및 PTR 레코드가 있는 도메인 이름이 있다고 가정합니다. 또한 작동 중인 키 쌍이 있는 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

“/etc/apt/sources.list.d” 내에 Docker용 새 저장소 파일을 만듭니다.

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 Compose 플러그인 및 종속성과 함께 Docker 바이너리를 설치합니다.

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 획득 및 설치

nostream에 대한 git 저장소를 가져오고 저장소 폴더로 이동합니다.

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

nostream 부트스트랩 스크립트를 실행하여 nostream 서버 데몬을 시스템의 Docker 컨테이너로 빌드하고 배포합니다.

./scripts/start

nostream Docker 컨테이너가 “nostream” 로고를 인쇄할 때까지 기다린 다음 Ctrl+를 누릅니다 C.

처음으로 nostream이 성공적으로 실행되고 있음을 보여주는 터미널.

원하는 텍스트 편집기를 사용하여 nostream 인스턴스에 대한 구성 파일을 엽니다.

nano. /.nostr/settings.yaml

Relay_url:name: 변수 의 값을 인스턴스의 도메인 이름으로 바꿉니다.

인스턴스의 nostream 주소를 강조 표시하는 터미널입니다.

pubkey: 변수 의 값을 기본 Nostr 계정의 공개 키로 바꿉니다.

인스턴스 관리자의 Nostr 공개 키를 강조하는 터미널입니다.

contact: 변수의 이메일 주소를 현재 사용 중인 작동하는 주소로 변경하세요.

인스턴스 관리자의 이메일 주소가 강조 표시된 터미널입니다.

인스턴스의 “docker-compose.yml” 파일을 엽니다.

nano. /docker-compose.yml

“environment:” 범주로 스크롤한 다음 “SECRET:” 환경 변수의 값을 임의의 문자열로 바꿉니다.

인스턴스의 핵심 무작위 비밀을 강조하는 터미널입니다.

마지막으로 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

SSL 인증서로 보안 Nostream

코어 스냅 패키지가 VPS에서 실행되고 있는지 확인하세요.

sudo snap install core

EFF(Electronic Frontier Foundation)에서 certbot 스냅 패키지를 설치합니다.

sudo snap install certbot --classic

다음 명령을 실행하여 certbot 설치를 EFF에 등록합니다.

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

nostream 역방향 프록시에 대한 새 SSL 인증서를 요청하세요.

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

웹 브라우저를 열고 해당 웹 주소로 이동하여 새 nostream 릴레이가 작동하는지 테스트하세요.

성공적인 nostream 설치를 보여주는 스크린샷.

Nostream을 Gossip Nostr 클라이언트와 연결

새로운 nostream 릴레이를 Gossip과 연결하려면 프로그램의 왼쪽 사이드바에서 “릴레이” 카테고리를 클릭하세요.

강조 표시된 스크린샷

“릴레이” 카테고리 아래에 있는 릴레이 추가 버튼을 클릭하세요 .

내용을 보여주는 스크린샷

그러면 nostream 인스턴스의 주소를 쓸 수 있는 작은 텍스트 상자가 나타납니다. WebSocket “wss://” 프로토콜 헤더와 함께 새 릴레이의 주소를 제공하세요.

새로운 nostream 릴레이의 주소를 보여주는 스크린샷.

“확인”을 클릭한 다음 “구성”을 클릭하여 새 릴레이를 설정하세요.

그러면 Gossip은 새 릴레이가 클라이언트와 어떻게 작동할지 결정할 수 있는 설정 페이지를 로드합니다. 인스턴스에서 메시지를 보내고 받으려면 설정 페이지에서 “읽기” 및 “쓰기” 스위치를 전환하세요.

다른 릴레이와 통신하려면 “Inbox”, “Outbox” 및 “Advertise” 스위치를 전환하십시오.

현재 nostream 인스턴스의 활성 기능을 보여주는 스크린샷입니다.

새로운 Nostr 메모를 보내 릴레이가 제대로 작동하는지 테스트하세요.

Gossip의 샘플 Nostr 메모를 보여주는 스크린샷.

Nostream을 Amethyst Nostr 클라이언트와 연결하기

Gossip 외에도 새로운 nostream 인스턴스를 Amethyst와 같은 다른 Nostr 클라이언트와 연결할 수도 있습니다. 그렇게 하려면 앱의 왼쪽 상단에 있는 사용자 아이콘을 클릭하세요.

Amethyst의 사용자 메뉴를 강조하는 스크린샷.

팝업 사이드바에서 “릴레이” 옵션을 클릭하세요.

강조 표시된 스크린샷

“릴레이 추가” 텍스트 상자를 선택한 다음 프로토콜 헤더 없이 새 릴레이의 주소를 입력하세요.

릴레이 프롬프트를 강조하는 스크린샷.

새로운 nostream 인스턴스를 클라이언트에 적용하려면 “추가”를 클릭하세요.

샘플 Nostr 메모를 보내 새 인스턴스가 메시지를 제대로 전달하는지 테스트하세요.

Amethyst의 Nostr 노트 예시를 보여주는 스크린샷.

Nostr 릴레이를 호스팅하는 것은 디지털 생활에 대한 통제권을 되찾는 한 가지 방법일 뿐입니다. 자신의 소셜 미디어 플랫폼 외에도 ownCloud를 사용하여 클라우드 오피스 플랫폼을 제공 할 수 있을 뿐만 아니라 Peertube를 통해 자신만의 비디오 호스팅 웹사이트를 호스팅할 수도 있습니다 .

이미지 출처: Unsplash를 통한 Paulina Chmolowska . 모든 변경 사항과 스크린샷은 Ramces Red가 작성했습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다