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" 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