Files
palladum-lightning/docker-compose.lightning.yml
Davide Grilli 11974a1169
Some checks failed
Coverage (Nightly) / Build with Coverage (push) Has been cancelled
Repro Build Nightly / Ubuntu repro build: focal (push) Has been cancelled
Repro Build Nightly / Ubuntu repro build: jammy (push) Has been cancelled
Repro Build Nightly / Ubuntu repro build: noble (push) Has been cancelled
Python API Docs (Nightly) / Generate Python API Documentation (push) Has been cancelled
Documentation (Nightly) / Generate Project Documentation (push) Has been cancelled
Publish Documentation Site / Generate Coverage Reports (push) Has been cancelled
Publish Documentation Site / Generate Python API Documentation (push) Has been cancelled
Publish Documentation Site / Generate Project Documentation (push) Has been cancelled
Coverage (Nightly) / Test (postgres) (push) Has been cancelled
Coverage (Nightly) / Test (sqlite) (push) Has been cancelled
Coverage (Nightly) / Generate Coverage Report (push) Has been cancelled
Publish Documentation Site / Deploy to GitHub Pages (push) Has been cancelled
feat: add Docker support for palladium-lightning node
- Dockerfile.palladium-lightning: multi-stage build (ubuntu:22.04)
  builder stage compiles lightningd from source with git submodules;
  runtime stage copies palladium-cli from palladium-node:local image
  (no Rust plugins, no cross-compilation, amd64 only)

- docker-compose.lightning.yml: joins external `palladium-net`, exposes
  port 9735 (P2P), connects to palladiumd:2332 via RPC using credentials
  from .env

- .env.example: template for PALLADIUM_RPCUSER / PALLADIUM_RPCPASSWORD

- .gitignore: add .env to prevent accidental credential commits
2026-03-11 20:43:23 +01:00

47 lines
1.6 KiB
YAML

# Palladium Lightning — docker-compose
#
# Joins the existing `palladium-net` network created by the palladiumd compose stack.
# The palladium-node:local image must be built before this one (palladium-cli is copied from it).
#
# Usage:
# # 1. Create .env with RPC credentials (see .env.example)
# # 2. Ensure palladiumd is running on palladium-net
# docker compose -f docker-compose.lightning.yml build
# docker compose -f docker-compose.lightning.yml up -d
#
# # Check status
# docker logs palladium-lightning
# docker exec palladium-lightning lightning-cli --network=palladium getinfo
networks:
palladium-net:
external: true # created by the palladiumd compose stack
services:
palladium-lightning:
build:
context: .
dockerfile: Dockerfile.palladium-lightning
image: palladium-lightning:local
container_name: palladium-lightning
restart: unless-stopped
networks:
- palladium-net
ports:
- "0.0.0.0:9735:9735" # Lightning P2P — must be reachable from the internet
# RPC (9835) is NOT exposed on the host.
# Use: docker exec palladium-lightning lightning-cli --network=palladium <command>
volumes:
- ./.lightning:/root/.lightning
environment:
LIGHTNINGD_NETWORK: palladium
EXPOSE_TCP: "false"
command: >
--network=palladium
--palladium-rpcconnect=palladiumd
--palladium-rpcport=2332
--palladium-rpcuser=${PALLADIUM_RPCUSER}
--palladium-rpcpassword=${PALLADIUM_RPCPASSWORD}
--palladium-cli=/usr/local/bin/palladium-cli
--log-level=info