Container Setup
This guide provides step-by-step instructions for setting up a development environment for the Holochain Edge Node container. The container is built using Wolfi Base and includes all necessary tools for developing, testing, and running Holochain applications.
Prerequisites
- Docker installed and running on your system
- Git (for cloning the repository)
- Basic knowledge of Docker commands and containers
Development Environment Setup
- Clone the Repository
git clone https://github.com/Holo-Host/edgenode.git
cd edgenode- Build the Docker Image
The container is defined in docker/Dockerfile. To build the image locally:
cd docker
docker build -t local-edgenode .
cd ..- Run the Container in Development Mode
For development, you'll want to run the container with interactive shell access and persistent storage:
# Create a directory for persistent data
mkdir -p ./holo-data-dev
# Run the container in interactive mode
docker run --name edgenode-dev -it \
-v $(pwd)/holo-data-dev:/data \
-p 4444:4444 \
local-edgenode- Access the Container Shell
Once the container is running, access it interactively:
docker exec -it edgenode-dev /bin/shInside the container, switch to the nonroot user:
su - nonrootISO Setup
HolOS is a minimal Linux distribution specifically designed to run Holochain containers. It's built using the Buildroot system, creating a complete Linux system from source code.
Prerequisites
- Basic knowledge of Makefiles and the build process.
Development Environment Setup
The Makefile automates the following steps:
- Downloads Buildroot source
- Builds the Rust-based
holos-configtool - Copies configuration files and overlays
- Builds the Linux kernel with custom configuration
- Creates initramfs (rootfs.cpio.gz)
- Assembles everything into a hybrid ISO image
The system can be used in several ways:
- Boot from USB/CD: Write the ISO to a bootable device
- PXE Boot: Use the kernel and initrd from the boot/ directory
- Virtual Machine: Use
make runto boot in KVM with QEMU
happ_config_file Utility Setup
Prerequisites
- Rust Programming Language: The project requires Rust to be installed on your system. You can install Rust by following the instructions at rustup.rs.
- Cargo: Cargo is Rust's package manager and build tool. It comes bundled with the Rust installation.
Setup Steps
- Navigate to the project directory:
cd tools/happ_config_file- Build the project:
cargo build --releaseThis will compile the project and create the binary at target/release/happ_config_file.