Target host: Ubuntu ARM64 (aarch64). Objective: build a local Photon development stack for Bitcoin Layer 2 work with bitcoind on regtest, electrs, and rgb-proxy-server.
The Docker environment was cleaned with docker compose down --remove-orphans
and docker system prune -f before rebuilding the stack.
A new Docker Compose definition was created in
/home/waheed/PhotonBoltXYZ/docker-compose.yml.
txindex=1, RPC user user, RPC password password./home/waheed/PhotonBoltXYZ/bitcoin/bitcoin.conf/home/waheed/PhotonBoltXYZ/electrs.tomlTwo pragmatic changes were required during implementation:
lncm/bitcoind:27.0 was not available as a usable multi-arch manifest from this host, so lncm/bitcoind:v27.2 was used.ghcr.io/romanz/electrs:v0.10.4 could not be pulled from GHCR on this host, so electrs v0.10.4 was cloned and built locally from source.The stack was started with Docker Compose build and up flow. During validation, rgb-proxy-server initially failed because its named volume permissions prevented the container process from creating application directories. The local development workaround applied was to run that container as root inside Compose.
After the stack came up:
photon_dev was created in regtest.
Final funded wallet balance confirmed with bitcoin-cli getbalance:
50.00000000 BTC.
After Nginx reverse proxying was added, Docker port publishes for Photon services were changed from public host bindings to loopback-only bindings so that the services are exposed through Nginx rather than directly to the public network.
127.0.0.1127.0.0.1127.0.0.1The Photon Bitcoin/RGB development stack is installed locally and runs on Docker bridge networking with regtest funding in place for development and Lightning-related testing.