A CLI tool for building custom Docker images from GitHub PRs and forks for Lightning Polar.
Aurora makes it easy for code reviewers to test proposed changes by building Docker images directly from pull requests, without manually cloning repos or dealing with complex build setups.
- π Build from PRs - Just paste a GitHub PR URL and Aurora fetches the fork and branch automatically
- π³ Docker Integration - Builds images using embedded Dockerfiles optimized for Polar
- β‘ Lightning-focused - Currently supports LND with more node types coming soon
- π¦ Single Binary - No dependencies, just download and run
git clone https://github.com/Abdulkbk/aurora.git
cd aurora
make buildThis creates an aurora binary in the current directory.
make installThis installs aurora to your $GOPATH/bin.
aurora build --pr https://github.com/lightningnetwork/lnd/pull/1234 --tag my-test-imageAurora will:
- Parse the PR URL
- Fetch the fork URL and branch from GitHub API
- Build a Docker image using the fork's code
- Tag it with your specified name
If you have a specific fork and branch (or if the PR branch was deleted):
aurora build --repo https://github.com/username/lnd --branch feature-branch --tag my-fork-imageπ Aurora Build
===============
π PR: lightningnetwork/lnd#10545
π Fetching PR details from GitHub...
π Title: switchrpc: improve SendOnion error handling
π State: open
π Fork: https://github.com/calvinrzachman/lnd.git
πΏ Branch: switchrpc-error-handle-combined
π¦ Type: lnd (default)
π·οΈ Tag: sendonion
π¨ Building Docker image...
----------------------------
[... Docker build output ...]
----------------------------
β
Build complete! Image: sendonion:aurora
To use in Polar, add this as a custom node image.
After building an image with Aurora, you can use it in Lightning Polar:
- Open Polar
- Create a new network or edit an existing one
- When adding an LND node, select "Managed" and choose your custom image
- The image will appear with the tag you specified (e.g.,
sendonion:aurora)
| Command | Description |
|---|---|
aurora build |
Build a Docker image from a PR or fork |
aurora version |
Show version information |
aurora help |
Show help information |
| Flag | Description | Required |
|---|---|---|
--pr |
GitHub PR URL | Either --pr or --repo |
--repo |
GitHub repository URL | Either --pr or --repo |
--branch |
Branch name | Required with --repo |
--tag |
Docker image tag | β Yes |
--node-type |
Node type (default: lnd) |
No |
| Node | Status |
|---|---|
| LND | β Supported |
| Bitcoin Core | π Coming Soon |
| Core Lightning | π Coming Soon |
| Eclair | π Coming Soon |
| LIT | π Coming Soon |
| Taproot Assets | π Coming Soon |
- Go 1.21+
- Docker
make build # Build the binary
make test # Run tests
make fmt # Format code
make tidy # Tidy dependencies
make clean # Clean build artifacts- Parse PR URL - Extracts owner, repo, and PR number from GitHub URLs
- Fetch PR Details - Calls GitHub API to get the fork's clone URL and branch name
- Prepare Dockerfile - Uses an embedded Dockerfile optimized for the node type
- Build Image - Runs
docker buildwith the fork URL and branch as build args - Tag & Output - Tags the image and provides instructions for Polar
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE for details.
- Lightning Polar - The excellent Lightning Network development tool
- LND - Lightning Network Daemon