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.
94 lines
3.8 KiB
94 lines
3.8 KiB
version: '3.8' |
|
|
|
services: |
|
orly-relay: |
|
image: silberengel/next-orly:v0.48.10 |
|
container_name: orly-relay |
|
restart: always |
|
ports: |
|
- "127.0.0.1:3334:3334" |
|
- "127.0.0.1:7777:7777" |
|
volumes: |
|
# Use bind mount to host filesystem for large datasets (20GB+) |
|
# Change /var/lib/orly to your desired data directory on the host |
|
- /var/lib/orly:/data |
|
environment: |
|
# Relay Configuration |
|
- ORLY_DATA_DIR=/data |
|
- ORLY_LISTEN=0.0.0.0 |
|
- ORLY_PORT=7777 |
|
- ORLY_LOG_LEVEL=Info |
|
|
|
# Admin and Owner Configuration |
|
- ORLY_ADMINS=npub1m4ny6hjqzepn4rxknuq94c2gpqzr29ufkkw7ttcxyak7v43n6vvsajc2jl,npub1v30tsz9vw6ylpz63g0a702nj3xa26t3m7p5us8f2y2sd8v6cnsvq465zjx,npub12umrfdjgvdxt45g0y3ghwcyfagssjrv5qlm3t6pu2aa5vydwdmwq8q0z04,npub18cddpua960qjy3wmw7y9gmzr4h3ajlrwq3k9jnmqzlxke4qkg6gqeyaztw |
|
- ORLY_OWNERS=npub1m4ny6hjqzepn4rxknuq94c2gpqzr29ufkkw7ttcxyak7v43n6vvsajc2jl,npub1v30tsz9vw6ylpz63g0a702nj3xa26t3m7p5us8f2y2sd8v6cnsvq465zjx,npub12umrfdjgvdxt45g0y3ghwcyfagssjrv5qlm3t6pu2aa5vydwdmwq8q0z04,npub18cddpua960qjy3wmw7y9gmzr4h3ajlrwq3k9jnmqzlxke4qkg6gqeyaztw |
|
|
|
# ACL Configuration (follows mode for access control based on admin follow lists) |
|
- ORLY_ACL_MODE=follows |
|
|
|
# Spider Configuration (syncs events for followed pubkeys) |
|
- ORLY_SPIDER_MODE=follows |
|
|
|
# Relay URL (for dashboard and metadata) |
|
- ORLY_RELAY_URL=wss://orly-relay.imwald.eu |
|
|
|
# Sprocket Configuration (event processing plugin system) |
|
- ORLY_SPROCKET_ENABLED=false |
|
|
|
# Database Logging |
|
- ORLY_DB_LOG_LEVEL=error |
|
|
|
# Database Cache Tuning for Large Datasets (20GB+) |
|
# Increased caches for better performance with large working sets |
|
- ORLY_DB_BLOCK_CACHE_MB=2048 # 2GB block cache (default: 1024MB) |
|
- ORLY_DB_INDEX_CACHE_MB=1024 # 1GB index cache (default: 512MB) |
|
- ORLY_SERIAL_CACHE_PUBKEYS=500000 # 500k pubkeys cache (default: 100k) |
|
- ORLY_SERIAL_CACHE_EVENT_IDS=2000000 # 2M event IDs cache (default: 500k) |
|
- ORLY_DB_ZSTD_LEVEL=9 # ZSTD compression level 9 (best compression, reduces disk IO) |
|
|
|
# Storage GC Configuration for Large Archives |
|
# Enable GC with aggressive eviction to manage storage growth |
|
- ORLY_GC_ENABLED=true # Enable storage garbage collection |
|
- ORLY_GC_BATCH_SIZE=5000 # GC batch size for efficient processing |
|
- ORLY_MAX_STORAGE_BYTES=107374182400 # 100GB storage cap (adjust as needed) |
|
|
|
# Bootstrap relay for initial sync |
|
- ORLY_BOOTSTRAP_RELAYS=wss://profiles.nostr1.com,wss://purplepag.es,wss://relay.damus.io |
|
|
|
# Disable subscription/payment requirements |
|
- ORLY_SUBSCRIPTION_ENABLED=false |
|
- ORLY_MONTHLY_PRICE_SAT=0 |
|
|
|
# Performance Settings |
|
- ORLY_MAX_CONNECTIONS=1000 |
|
- ORLY_MAX_EVENT_SIZE=65536 |
|
- ORLY_MAX_SUBSCRIPTIONS=20 |
|
|
|
healthcheck: |
|
test: ["CMD", "curl", "-f", "http://localhost:7777"] |
|
interval: 30s |
|
timeout: 10s |
|
retries: 3 |
|
start_period: 20s |
|
|
|
# Resource limits - Increased for large imports (20GB+) |
|
# Memory increased to handle Badger caches and import operations |
|
deploy: |
|
resources: |
|
limits: |
|
memory: 4096M # 4GB - increased from 1GB for large dataset imports |
|
cpus: "2.0" # Increased CPU for faster compaction during imports |
|
reservations: |
|
memory: 2048M # 2GB reservation |
|
cpus: "1.0" |
|
|
|
# Logging configuration |
|
logging: |
|
driver: "json-file" |
|
options: |
|
max-size: "10m" |
|
max-file: "3" |
|
|
|
# Note: Using bind mount instead of named volume for large datasets |
|
# Data is stored directly on host filesystem at /var/lib/orly |
|
# To use a different path, change the volume mount above
|
|
|