Files
palladium-stack/docker-compose.yml

101 lines
3.1 KiB
YAML
Raw Permalink Normal View History

services:
palladiumd:
build:
context: .
dockerfile: Dockerfile.palladium-node
image: palladium-node:local
container_name: palladium-node
restart: unless-stopped
ports:
- "127.0.0.1:2332:2332" # RPC port mainnet (host-local only)
- "0.0.0.0:2333:2333" # P2P port mainnet (accessible from network)
- "127.0.0.1:28332:28332" # ZMQ hashblock (host-local debug only)
- "127.0.0.1:28334:28334" # ZMQ rawblock (host-local debug only)
- "127.0.0.1:28335:28335" # ZMQ rawtx (host-local debug only)
# For testnet, expose: 12332 (RPC) and 12333 (P2P)
volumes:
# Mount .palladium folder (contains config and blockchain data)
- ./.palladium:/root/.palladium
command: >
palladiumd
-conf=/root/.palladium/palladium.conf
-datadir=/root/.palladium
-daemon=0
-printtoconsole=1
electrumx:
build:
context: .
dockerfile: Dockerfile.electrumx
image: electrumx-server:local
container_name: electrumx-server
restart: unless-stopped
depends_on:
- palladiumd
ports:
- "0.0.0.0:50001:50001" # TCP (accessible from network)
- "0.0.0.0:50002:50002" # SSL (accessible from network)
environment:
# ===== Network Configuration =====
# For MAINNET use: COIN: "Palladium", NET: "mainnet"
# For TESTNET use: COIN: "Palladium", NET: "testnet"
COIN: "Palladium" # Always "Palladium" for both networks
NET: "mainnet"
# NOTE: RPC credentials are automatically read from palladium.conf
# No need to configure DAEMON_URL manually anymore!
SERVICES: "tcp://0.0.0.0:50001,ssl://0.0.0.0:50002"
SSL_CERTFILE: "/certs/server.crt"
SSL_KEYFILE: "/certs/server.key"
DB_DIRECTORY: "/data"
PEER_DISCOVERY: "on"
PEER_ANNOUNCE: "true"
# REPORT_SERVICES is auto-detected at startup. Set manually only to override.
# REPORT_SERVICES: "tcp://your.public.ip:50001,ssl://your.public.ip:50002"
INITIAL_CONCURRENT: "2"
COST_SOFT_LIMIT: "0"
COST_HARD_LIMIT: "0"
2026-02-13 08:36:18 +01:00
DONATION_ADDRESS: "plm1qdq3gu2zvg9lyr8gxd6yln4wavc5tlp8prmvfay"
ulimits:
nofile:
soft: 1048576
hard: 1048576
volumes:
- ./electrumx-data:/data
- ./.palladium/palladium.conf:/palladium-config/palladium.conf:ro
- ./certs:/certs
dashboard:
build:
context: .
dockerfile: Dockerfile.dashboard
image: palladium-dashboard:local
container_name: palladium-dashboard
restart: unless-stopped
depends_on:
- palladiumd
- electrumx
ports:
- "0.0.0.0:8080:8080" # Web Dashboard (accessible from network)
environment:
PALLADIUM_RPC_HOST: "palladiumd"
PALLADIUM_RPC_PORT: "2332"
ELECTRUMX_RPC_HOST: "electrumx"
ELECTRUMX_RPC_PORT: "8000"
DASHBOARD_AUTH_USERNAME: "${DASHBOARD_AUTH_USERNAME:-admin}"
DASHBOARD_AUTH_PASSWORD: "${DASHBOARD_AUTH_PASSWORD:-change-me-now}"
volumes:
- ./.palladium/palladium.conf:/palladium-config/palladium.conf:ro
- /var/run/docker.sock:/var/run/docker.sock:ro