nostream/docker-compose.yml
Ricardo Arturo Cabral Mejía f3097983a0 fix: type errors
2022-12-21 01:42:43 -05:00

110 lines
2.6 KiB
YAML

services:
relay:
build: .
container_name: nostr-ts-relay
environment:
RELAY_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: 16
DB_MAX_POOL_SIZE: 32
REDIS_HOST: cache
REDIS_PORT: 6379
REDIS_USER: default
REDIS_PASSWORD: nostr_ts_relay
DEBUG: "worker:*"
user: node:node
volumes:
- ${PWD}/.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_DB: nostr_ts_relay
POSTGRES_USER: nostr_ts_relay
POSTGRES_PASSWORD: nostr_ts_relay
volumes:
- pgdata:/var/lib/postgresql/data-old
- ${PWD}/.nostr/data:/var/lib/postgresql/data
- ${PWD}/.nostr/db-logs:/var/log/postgresql
- ${PWD}/postgresql.conf:/postgresql.conf
ports:
- 15432:5432
networks:
default:
ipv4_address: 10.10.10.3
command: postgres -c 'config_file=/postgresql.conf'
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U nostr_ts_relay"]
interval: 5s
timeout: 5s
retries: 5
start_period: 360s
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:
condition: service_healthy
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:
cache:
pgdata: