-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
99 lines (94 loc) · 4.03 KB
/
Copy pathdocker-compose.yml
File metadata and controls
99 lines (94 loc) · 4.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
services:
delay:
build:
context: .
dockerfile: Dockerfile
container_name: delay-stack
ports:
- "8420:8420" # Relay Server
- "5001:5001" # IPFS API
- "8080:8080" # IPFS Gateway
- "4001:4001" # IPFS Swarm
volumes:
# Persist all data in a single volume (IPFS, GunDB, Keys, ZEN)
- shogun-data:/data
# Mount logs for debugging (optional, can be removed in production)
- ./logs:/var/log/supervisor
environment:
# ============================================================================
# SERVER/RELAY IDENTITY
# ============================================================================
- NODE_ENV=production
- NODE_OPTIONS=--max-old-space-size=4096 --expose-gc
- RELAY_HOST=localhost
- RELAY_PORT=8420
- RELAY_NAME=delay
- RELAY_PATH=public
- RELAY_STORE=true
- RELAY_QR=true
- RELAY_PROTECTED=false
# ============================================================================
# AUTHENTICATION
# ============================================================================
- ADMIN_PASSWORD=shogun2025
# Relay GunDB User - REQUIRED: RELAY_SEA_KEYPAIR or RELAY_SEA_KEYPAIR_PATH
# Example: RELAY_SEA_KEYPAIR='{"pub":"...","priv":"...","epub":"...","epriv":"..."}'
- RELAY_SEA_KEYPAIR_PATH=/data/keys/relay-keypair.json
# ============================================================================
# MODULE ENABLED FLAGS (true/false to enable/disable modules)
# ============================================================================
- IPFS_ENABLED=${IPFS_ENABLED:-true}
- WORMHOLE_ENABLED=${WORMHOLE_ENABLED:-false}
# ============================================================================
# GUNDB/STORAGE
# ============================================================================
- DATA_DIR=/data/relay-data
- DISABLE_RADISK=false
- RELAY_PEERS=
# ============================================================================
# IPFS
# ============================================================================
- IPFS_PATH=/data/ipfs
- IPFS_API_URL=http://127.0.0.1:5001
- IPFS_GATEWAY_URL=http://127.0.0.1:8080
- IPFS_API_TOKEN=shogun2025
- IPFS_API_KEY=shogun2025
- IPFS_MAX_FILE_SIZE_MB=${IPFS_MAX_FILE_SIZE_MB:-100}
- IPFS_UPLOAD_TIMEOUT_MS=${IPFS_UPLOAD_TIMEOUT_MS:-60000}
# - HOLSTER_RELAY_STORAGE_PATH=/app/relay/holster-data removed
# ============================================================================
# STORAGE LIMITS
# ============================================================================
- RELAY_MAX_STORAGE_GB=10
- RELAY_STORAGE_WARNING_THRESHOLD=80
# ============================================================================
# NETWORK/SECURITY
# ============================================================================
- AUTO_REPLICATION=true
- CORS_ORIGINS=*
- CORS_CREDENTIALS=true
# ============================================================================
# ZEN SYNC ENGINE
# ============================================================================
- ZEN_ENABLED=true
- ZEN_PATH=/zen
- ZEN_DATA_DIR=/data/zendata
# ============================================================================
# ============================================================================
# ============================================================================
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8420/health"]
interval: 30s
timeout: 30s
retries: 5
start_period: 180s
networks:
- delay-network
volumes:
# Unified volume to persist all service data
shogun-data:
driver: local
networks:
delay-network:
driver: bridge