This image builds the headless Verge Core v26.7 applications on Ubuntu 24.04:
vergedverge-cliverge-tx
The image uses a multi-stage build, so compilers, source code, and build dependencies are not included in the runtime image.
git clone https://github.com/vergecurrency/Docker-Verge-Daemon.git
cd Docker-Verge-Daemon
docker build -t vergecurrency/verge:26.7 .To build another Verge release:
docker build --build-arg VERGE_VERSION=v26.7 -t vergecurrency/verge:26.7 .The Verge programs run inside Docker; they do not need to be installed on the host. Create a persistent data directory first:
mkdir -p "$HOME/.VERGE"Create $HOME/.VERGE/VERGE.conf:
rpcuser=username123
rpcpassword=rpcpassword123
txindex=1Start verged in the background:
docker run -d \
--name vergedaemon \
--restart unless-stopped \
-p 21102:21102 \
-p 20102:20102 \
-v "$HOME/.VERGE:/coin/home" \
vergecurrency/verge:26.7Follow startup and synchronization progress:
docker logs -f vergedaemonPress Ctrl+C to stop following the log; the daemon continues running. Confirm that it is responding:
docker exec vergedaemon verge-cli -datadir=/coin/home getblockchaininfoverged is the full node daemon. The image starts it by default, so no binary name is needed after the image name.
Useful container commands:
# Show daemon logs
docker logs -f vergedaemon
# Stop the daemon cleanly
docker exec vergedaemon verge-cli -datadir=/coin/home stop
# Start an existing stopped container again
docker start vergedaemon
# Remove the container without deleting $HOME/.VERGE
docker rm -f vergedaemonTo run the daemon in the foreground for troubleshooting, omit -d and --restart:
docker run --rm -it \
--name vergedaemon \
-p 21102:21102 \
-p 20102:20102 \
-v "$HOME/.VERGE:/coin/home" \
vergecurrency/verge:26.7Extra arguments placed after the image name replace the default command. Include the standard daemon arguments when doing this:
docker run --rm -it \
-v "$HOME/.VERGE:/coin/home" \
vergecurrency/verge:26.7 \
verged -datadir=/coin/home -printtoconsole -debug=netUse docker exec to run verge-cli inside the running daemon container:
docker exec vergedaemon verge-cli -datadir=/coin/home getnetworkinfo
docker exec vergedaemon verge-cli -datadir=/coin/home getblockchaininfo
docker exec vergedaemon verge-cli -datadir=/coin/home getwalletinfo
docker exec vergedaemon verge-cli -datadir=/coin/home getnewaddress
docker exec vergedaemon verge-cli -datadir=/coin/home help
docker exec vergedaemon verge-cli -datadir=/coin/home help sendtoaddressFor shorter interactive use, open a shell in the container:
docker exec -it vergedaemon bash
verge-cli getblockchaininfo
verge-cli help
exitThe container's HOME is already /coin/home, so -datadir=/coin/home is optional when commands are run through docker exec.
You can also add a host-shell helper. For Bash or Zsh:
verge-cli() {
docker exec vergedaemon verge-cli -datadir=/coin/home "$@"
}
verge-cli getblockchaininfoFor PowerShell:
function verge-cli {
docker exec vergedaemon verge-cli -datadir=/coin/home @args
}
verge-cli getblockchaininfoverge-tx creates and inspects raw transactions. It does not need the daemon to be running for operations that only use arguments supplied on the command line:
docker run --rm vergecurrency/verge:26.7 verge-tx -help
docker run --rm vergecurrency/verge:26.7 verge-tx -create
docker run --rm vergecurrency/verge:26.7 verge-tx '<raw-transaction-hex>' -json
docker run --rm vergecurrency/verge:26.7 verge-tx '<raw-transaction-hex>' -txidThe host directory $HOME/.VERGE is mounted at /coin/home in the container. It contains VERGE.conf, wallets, blocks, and other node data. Removing or replacing the container does not remove this host directory.
The container runs as UID/GID 1000 by default, so a bind-mounted data directory must be writable by that user. Custom IDs can be selected while building the image:
docker build \
--build-arg VERGE_UID="$(id -u)" \
--build-arg VERGE_GID="$(id -g)" \
-t vergecurrency/verge:26.7 .The default command already enables console logging and uses /coin/home as the data directory. Do not set daemon=1 in VERGE.conf; the container itself provides process supervision.
21102: P2P port20102: RPC port/coin/home: persistent Verge data and configuration
