Skip to content

Quick Start

Get Hardy running in minutes using Docker.

Prerequisites

  • Docker and Docker Compose (v2.23+)

1. Clone and start

git clone https://github.com/ricktaylor/hardy.git
cd hardy
docker compose up --build -d

This builds and starts a BPA server with PostgreSQL metadata storage, S3 bundle storage (MinIO), and:

  • Node ID: ipn:1.0
  • TCPCLv4: listening on port 4556
  • gRPC: listening on port 50051
  • Echo service: registered on IPN service 7

For a lightweight setup with in-memory storage instead:

docker compose --profile debug up --build hardy-debug

2. Verify it's running

Check the container is healthy:

docker compose ps

You should see the hardy service with status healthy. You can also check the logs:

docker compose logs hardy

Look for Listening on [::]:4556 (TCPCLv4) and Listening on [::]:50051 (gRPC) in the output.

3. Customise the configuration

The configuration is in bpa-server/config.yaml. Edit it to change node settings, storage backends, or add TLS. See the BPA Server Configuration for all available options.

Key settings you'll want to change for a real deployment:

  • node-ids -- set your node's EID (e.g. "ipn:42.0")
  • storage.metadata.type -- "postgres", "sqlite", or "memory"
  • storage.bundle.type -- "s3", "localdisk", or "memory"

4. Stop

docker compose down

Next steps