-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
67 lines (64 loc) · 2.24 KB
/
Copy pathdocker-compose.yml
File metadata and controls
67 lines (64 loc) · 2.24 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
version: "3.8"
services:
postgres:
image: postgres:16-alpine
environment:
POSTGRES_DB: facilitator
POSTGRES_USER: facilitator
POSTGRES_PASSWORD: facilitator
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U facilitator"]
interval: 5s
timeout: 5s
retries: 5
facilitator:
build:
context: ../..
dockerfile: Dockerfile
ports:
- "8090:8090"
depends_on:
postgres:
condition: service_healthy
environment:
- PORT=8090
- DATABASE_URL=postgresql://facilitator:facilitator@postgres:5432/facilitator
# EVM Signer (required - use one of CDP or private key)
# For CDP (recommended):
# - CDP_API_KEY_ID=${CDP_API_KEY_ID}
# - CDP_API_KEY_SECRET=${CDP_API_KEY_SECRET}
# - CDP_WALLET_SECRET=${CDP_WALLET_SECRET}
# - CDP_ACCOUNT_NAME=${CDP_ACCOUNT_NAME}
# For private key (fallback):
- EVM_PRIVATE_KEY=${EVM_PRIVATE_KEY}
# Networks to enable (comma-separated)
- EVM_NETWORKS=${EVM_NETWORKS:-base-sepolia}
# Optional SVM support
# - SVM_PRIVATE_KEY=${SVM_PRIVATE_KEY}
# - SVM_NETWORKS=${SVM_NETWORKS:-solana-devnet}
# Optional Starknet support (opt-in, disabled by default)
# - STARKNET_NETWORKS=${STARKNET_NETWORKS:-starknet-mainnet}
# - STARKNET_RPC_URL_STARKNET_MAINNET=${STARKNET_RPC_URL_STARKNET_MAINNET}
# - STARKNET_PAYMASTER_ENDPOINT_STARKNET_MAINNET=${STARKNET_PAYMASTER_ENDPOINT_STARKNET_MAINNET}
# - STARKNET_PAYMASTER_API_KEY=${STARKNET_PAYMASTER_API_KEY}
# - STARKNET_SPONSOR_ADDRESS_STARKNET_MAINNET=${STARKNET_SPONSOR_ADDRESS_STARKNET_MAINNET}
# Optional RPC API keys (for better rate limits)
# - ALCHEMY_API_KEY=${ALCHEMY_API_KEY}
# - INFURA_API_KEY=${INFURA_API_KEY}
# - HELIUS_API_KEY=${HELIUS_API_KEY}
# OpenTelemetry (optional)
# - OTEL_SERVICE_NAME=x402-facilitator
# - OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/supported"]
interval: 30s
timeout: 10s
retries: 3
start_period: 5s
restart: unless-stopped
volumes:
pgdata: