Skip to main content

Docker Deployment

Guide for deploying Bethrou using Docker or Podman.

Quick Start

Build Image

# From repository root
docker build -f ./node/Containerfile -t bethrou .
# Build client image
docker build -f ./client/Containerfile -t bethrou-client .

Run Node

docker run -d \
--name bethrou-node \
-p 4000:4000 \
-v $(pwd)/network.key:/etc/bethrou/network.key:ro \
bethrou

Run Client

docker run -d
--name bethrou-client \
-p 1080:1080 \
-v "$(pwd)/client/client.yaml:/etc/bethrou/client.yaml:ro" \
-v "$(pwd)/network.key:/etc/bethrou/network.key:ro" \
bethrou-client

Using Docker Hub

Pull pre-built image for node:

docker pull henrybarreto/bethrou-node:latest

Pull pre-built image for client:

docker pull henrybarreto/bethrou-client:latest

Volume Mounts

Required Volumes

Node:

-v $(pwd)/network.key:/etc/bethrou/network.key:ro

Client:

-v $(pwd)/client.yaml:/etc/bethrou/client.yaml:ro
-v $(pwd)/network.key:/etc/bethrou/network.key:ro

Optional Volumes

Persistent node identity:

-v $(pwd)/node.key:/node.key

Logging

View logs:

docker logs -f bethrou-node

Next Steps