version: '3.8' services: rincoin-stratum-proxy: build: context: . dockerfile: Dockerfile container_name: rincoin-stratum-proxy ports: - "3333:3333" # Stratum mining port - "1337:1337" # RPC interface port environment: # RinCoin node connection - RINCOIN_RPC_HOST=${RINCOIN_RPC_HOST:-127.0.0.1} - RINCOIN_RPC_PORT=${RINCOIN_RPC_PORT:-9556} - RINCOIN_RPC_USER=${RINCOIN_RPC_USER:-rinrpc} - RINCOIN_RPC_PASS=${RINCOIN_RPC_PASS:-745ce784d5d537fc06105a1b935b7657903cfc71a1b935b7657903cfc71a5fb3b90} # Pool configuration - RINCOIN_TARGET_ADDRESS=${RINCOIN_TARGET_ADDRESS:-rin1qahvvv9d5f3443wtckeqavwp9950wacxfmwv20q} - POOL_DIFFICULTY=${POOL_DIFFICULTY:-100} - MAX_TIME_DIFF=${MAX_TIME_DIFF:-7200} - AUTHORIZED_WORKERS=${AUTHORIZED_WORKERS:-worker1,worker2} # Debug settings - DEBUG=${DEBUG:-stratum} volumes: - ./logs:/app/logs restart: unless-stopped networks: - rincoin-network depends_on: - rincoin-node healthcheck: test: ["CMD", "node", "-e", "const http = require('http'); const options = {host: 'localhost', port: 1337, path: '/', timeout: 5000}; const req = http.request(options, (res) => { process.exit(res.statusCode === 200 ? 0 : 1); }); req.on('error', () => process.exit(1)); req.end();"] interval: 30s timeout: 10s retries: 3 start_period: 40s rincoin-node: image: rincoin/rincoin:latest container_name: rincoin-node ports: - "9556:9556" # RPC port environment: - RPC_USER=${RINCOIN_RPC_USER:-rinrpc} - RPC_PASSWORD=${RINCOIN_RPC_PASS:-745ce784d5d537fc06105a1b935b7657903cfc71a1b935b7657903cfc71a5fb3b90} - RPC_PORT=9556 - RPC_ALLOW_IP=0.0.0.0/0 volumes: - rincoin-data:/home/rincoin/.rincoin restart: unless-stopped networks: - rincoin-network command: > rincoind -server=1 -rpcuser=${RINCOIN_RPC_USER:-rinrpc} -rpcpassword=${RINCOIN_RPC_PASS:-745ce784d5d537fc06105a1b935b7657903cfc71a1b935b7657903cfc71a5fb3b90} -rpcport=9556 -rpcallowip=0.0.0.0/0 -rpcbind=0.0.0.0 -txindex=1 -server=1 -daemon=0 networks: rincoin-network: driver: bridge volumes: rincoin-data: