Skip to content
 
 

Latest commit

 

History

101 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

docker

Build and test Docker image

Docker Verge Daemon

This image builds the headless Verge Core v26.7 applications on Ubuntu 24.04:

  • verged
  • verge-cli
  • verge-tx

The image uses a multi-stage build, so compilers, source code, and build dependencies are not included in the runtime image.

Build

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 .

Quick start

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=1

Start 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.7

Follow startup and synchronization progress:

docker logs -f vergedaemon

Press Ctrl+C to stop following the log; the daemon continues running. Confirm that it is responding:

docker exec vergedaemon verge-cli -datadir=/coin/home getblockchaininfo

Using verged

verged 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 vergedaemon

To 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.7

Extra 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=net

Using verge-cli

Use 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 sendtoaddress

For shorter interactive use, open a shell in the container:

docker exec -it vergedaemon bash
verge-cli getblockchaininfo
verge-cli help
exit

The 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 getblockchaininfo

For PowerShell:

function verge-cli {
    docker exec vergedaemon verge-cli -datadir=/coin/home @args
}

verge-cli getblockchaininfo

Using verge-tx

verge-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>' -txid

Configuration and persistent data

The 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.

Ports and data

  • 21102: P2P port
  • 20102: RPC port
  • /coin/home: persistent Verge data and configuration

Support

Join the Verge Discord server.

About

Verge Daemon Docker as found on Docker Hub

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages