nostream/test/integration/docker-compose.yml
2022-11-15 21:17:20 -05:00

84 lines
2.1 KiB
YAML

services:
tests:
build:
context: ../../
dockerfile: Dockerfile.test
environment:
DB_HOST: db-test
DB_PORT: 5432
DB_NAME: nostr_ts_relay_test
DB_USER: postgres
DB_PASSWORD: postgres
DB_MIN_POOL_SIZE: 1
DB_MAX_POOL_SIZE: 2
REDIS_HOST: cache-test
REDIS_PORT: 6379
REDIS_USER: default
REDIS_PASSWORD: nostr_ts_relay_test
NOSTR_CONFIG_DIR: /code
volumes:
- ../../src:/code/src
- ../../test:/code/test
- ../../.coverage:/code/.coverage
- ../../.test-reports:/code/.test-reports
working_dir: /code
depends_on:
cache-test:
condition: service_healthy
db-test:
condition: service_healthy
migrations-test:
condition: service_completed_successfully
networks:
- nostr-ts-relay-test
links:
- db-test
db-test:
image: postgres
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: nostr_ts_relay_test
networks:
- nostr-ts-relay-test
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
timeout: 5s
start_period: 5s
retries: 0
cache-test:
image: redis:7.0.5-alpine3.16
command: redis-server --save 20 1 --loglevel warning --requirepass nostr_ts_relay_test
networks:
- nostr-ts-relay-test
restart: always
healthcheck:
test: [ "CMD", "redis-cli", "ping", "|", "grep", "PONG" ]
interval: 1s
timeout: 5s
retries: 5
migrations-test:
image: node:18-alpine3.16
environment:
DB_HOST: db-test
DB_PORT: 5432
DB_USER: postgres
DB_PASSWORD: postgres
DB_NAME: nostr_ts_relay_test
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-test
networks:
- nostr-ts-relay-test
links:
- db-test
networks:
nostr-ts-relay-test: