feat: expose relay over Tor

This commit is contained in:
Ricardo Arturo Cabral Mejia 2022-11-06 19:30:12 -05:00
parent 0a3120cef9
commit cf4888e28f
No known key found for this signature in database
GPG Key ID: 5931EBF43A650245
4 changed files with 40 additions and 9 deletions

15
docker-compose.tor.yml Normal file
View File

@ -0,0 +1,15 @@
services:
tor:
image: lncm/tor:0.4.7.9@sha256:86c2fe9d9099e6376798979110b8b9a3ee5d8adec27289ac4a5ee892514ffe92
container_name: tor
user: toruser
depends_on:
- relay
volumes:
- ${PWD}/tor/torrc:/etc/tor/torrc
- ${HOME}/.nostr/tor/data:/var/lib/tor
restart: on-failure
stop_grace_period: 10m30s
networks:
default:
ipv4_address: 10.10.10.253

View File

@ -11,19 +11,22 @@ services:
DB_MIN_POOL_SIZE: 1
DB_MAX_POOL_SIZE: 2
NOSTR_CONFIG_DIR: /home/node/
SERVER_PORT: 8008
DEBUG: worker:event-message-handler,worker:web-socket-server-adapter
user: node:node
volumes:
- $HOME/.nostr:/home/node/
ports:
- "8008:8008"
- 8008:8008
depends_on:
db:
condition: service_healthy
migrations:
condition: service_completed_successfully
restart: on-failure
networks:
- nostr-ts-relay
restart: always
default:
ipv4_address: 10.10.10.2
db:
image: postgres
container_name: db
@ -33,7 +36,8 @@ services:
volumes:
- pgdata:/var/lib/postgresql/data/
networks:
- nostr-ts-relay
default:
ipv4_address: 10.10.10.3
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U nostr_ts_relay"]
@ -41,7 +45,7 @@ services:
timeout: 5s
retries: 5
migrations:
image: node:18-alpine3.15
image: node:18-alpine3.16
container_name: migrations
environment:
DB_HOST: db
@ -60,10 +64,16 @@ services:
depends_on:
- db
networks:
- nostr-ts-relay
default:
ipv4_address: 10.10.10.254
networks:
nostr-ts-relay:
default:
name: nostr-ts-relay
ipam:
driver: default
config:
- subnet: 10.10.10.0/24
volumes:
pgdata:

View File

@ -37,9 +37,13 @@
"test:integration": "cucumber-js",
"cover:integration": "nyc --report-dir .coverage/integration npm run test:integration -- -p cover",
"predocker:compose:start": "[ -d \"$HOME/.nostr\" ] || mkdir -p $HOME/.nostr",
"docker:compose:start": "docker compose up --build",
"docker:compose:start": "docker compose up --build --remove-orphans",
"docker:compose:stop": "docker compose down",
"docker:compose:clean": "docker compose rm",
"pretor:docker:compose:start": "mkdir -p $HOME/.nostr/tor/data",
"tor:docker:compose:start": "docker compose -f docker-compose.yml -f docker-compose.tor.yml up --build --remove-orphans",
"tor:hostname": "cat $HOME/.nostr/tor/data/nostr-ts-relay/hostname",
"tor:docker:compose:stop": "docker compose -f docker-compose.yml -f docker-compose.tor.yml down",
"predocker:integration:run": "docker compose -f ./test/integration/docker-compose.yml up -d --quiet-pull --build",
"docker:integration:run": "docker compose -f ./test/integration/docker-compose.yml run tests",
"postdocker:integration:run": "docker compose -f ./test/integration/docker-compose.yml down",
@ -99,7 +103,7 @@
"@noble/secp256k1": "1.7.0",
"debug": "4.3.4",
"joi": "17.6.1",
"knex": "2.3.0",
"knex": "^2.3.0",
"pg": "8.8.0",
"pg-query-stream": "4.2.3",
"ramda": "0.28.0",

2
tor/torrc Normal file
View File

@ -0,0 +1,2 @@
HiddenServiceDir /var/lib/tor/nostr-ts-relay
HiddenServicePort 80 10.10.10.2:8008