mirror of
https://github.com/Cameri/nostream.git
synced 2025-03-19 14:21:43 +01:00
100 lines
2.3 KiB
YAML
100 lines
2.3 KiB
YAML
services:
|
|
relay:
|
|
build: .
|
|
container_name: nostr-ts-relay
|
|
environment:
|
|
PORT: 8008
|
|
NOSTR_CONFIG_DIR: /home/node/
|
|
DB_HOST: db
|
|
DB_PORT: 5432
|
|
DB_USER: nostr_ts_relay
|
|
DB_PASSWORD: nostr_ts_relay
|
|
DB_NAME: nostr_ts_relay
|
|
DB_MIN_POOL_SIZE: 2
|
|
DB_MAX_POOL_SIZE: 10
|
|
REDIS_HOST: cache
|
|
REDIS_PORT: 6379
|
|
REDIS_USER: default
|
|
REDIS_PASSWORD: nostr_ts_relay
|
|
DEBUG: "worker:*"
|
|
user: node:node
|
|
volumes:
|
|
- $HOME/.nostr:/home/node/
|
|
ports:
|
|
- 8008:8008
|
|
depends_on:
|
|
cache:
|
|
condition: service_healthy
|
|
db:
|
|
condition: service_healthy
|
|
migrations:
|
|
condition: service_completed_successfully
|
|
restart: on-failure
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.10.2
|
|
db:
|
|
image: postgres
|
|
container_name: db
|
|
environment:
|
|
POSTGRES_USER: nostr_ts_relay
|
|
POSTGRES_PASSWORD: nostr_ts_relay
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data/
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.10.3
|
|
restart: always
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U nostr_ts_relay"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
cache:
|
|
image: redis:7.0.5-alpine3.16
|
|
container_name: cache
|
|
volumes:
|
|
- cache:/data
|
|
command: redis-server --save 20 1 --loglevel warning --requirepass nostr_ts_relay
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.10.4
|
|
restart: always
|
|
healthcheck:
|
|
test: [ "CMD", "redis-cli", "ping", "|", "grep", "PONG" ]
|
|
interval: 1s
|
|
timeout: 5s
|
|
retries: 5
|
|
migrations:
|
|
image: node:18-alpine3.16
|
|
container_name: migrations
|
|
environment:
|
|
DB_HOST: db
|
|
DB_PORT: 5432
|
|
DB_USER: nostr_ts_relay
|
|
DB_PASSWORD: nostr_ts_relay
|
|
DB_NAME: nostr_ts_relay
|
|
entrypoint:
|
|
- sh
|
|
- -c
|
|
- 'cd code && npm install --no-save --quiet knex@2.3.0 pg@8.8.0 && npx knex migrate:latest'
|
|
volumes:
|
|
- ./migrations:/code/migrations
|
|
- ./knexfile.js:/code/knexfile.js
|
|
depends_on:
|
|
- db
|
|
networks:
|
|
default:
|
|
ipv4_address: 10.10.10.254
|
|
|
|
networks:
|
|
default:
|
|
name: nostr-ts-relay
|
|
ipam:
|
|
driver: default
|
|
config:
|
|
- subnet: 10.10.10.0/24
|
|
|
|
volumes:
|
|
pgdata:
|
|
cache: |