You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

108 lines
2.6 KiB

# Negentropy (NIP-77) Interop Test Infrastructure
#
# Tests NIP-77 negentropy sync between:
# - strfry (client) <-> ORLY (server)
# - ORLY (client) <-> ORLY (server) via orly sync CLI
#
# Usage (from this directory):
# docker compose build
# docker compose up -d
# ./comprehensive-test.sh
# docker compose down -v
services:
# Strfry relay - has native negentropy support and sync command
strfry:
build:
context: .
dockerfile: Dockerfile.strfry
ports:
- "7777:7777"
volumes:
- strfry-data:/strfry-db
- ./strfry.conf:/etc/strfry.conf:ro
networks:
- negentropy-test
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:7777"]
interval: 5s
timeout: 5s
retries: 10
start_period: 10s
# ORLY relay 1 with embedded negentropy (NIP-77 server)
orly-relay-1:
build:
context: ../..
dockerfile: tests/negentropy/Dockerfile.orly
ports:
- "3334:3334"
environment:
- ORLY_PORT=3334
- ORLY_DATA_DIR=/data
- ORLY_LOG_LEVEL=debug
- ORLY_NEGENTROPY_ENABLED=true
- ORLY_QUERY_RESULT_LIMIT=10000
volumes:
- orly-data-1:/data
networks:
- negentropy-test
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:3334"]
interval: 5s
timeout: 5s
retries: 10
start_period: 10s
# ORLY relay 2 with embedded negentropy (for orly<->orly sync testing)
orly-relay-2:
build:
context: ../..
dockerfile: tests/negentropy/Dockerfile.orly
ports:
- "3335:3335"
environment:
- ORLY_PORT=3335
- ORLY_DATA_DIR=/data
- ORLY_LOG_LEVEL=debug
- ORLY_NEGENTROPY_ENABLED=true
- ORLY_QUERY_RESULT_LIMIT=10000
volumes:
- orly-data-2:/data
networks:
- negentropy-test
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:3335"]
interval: 5s
timeout: 5s
retries: 10
start_period: 10s
# Test runner with event-generator, orly CLI, and websocat
test-runner:
build:
context: ../..
dockerfile: tests/negentropy/Dockerfile.test-runner
environment:
- STRFRY_URL=ws://strfry:7777
- ORLY1_URL=ws://orly-relay-1:3334
- ORLY2_URL=ws://orly-relay-2:3335
depends_on:
strfry:
condition: service_healthy
orly-relay-1:
condition: service_healthy
orly-relay-2:
condition: service_healthy
networks:
- negentropy-test
command: ["sleep", "infinity"]
volumes:
strfry-data:
orly-data-1:
orly-data-2:
networks:
negentropy-test:
driver: bridge