Installation

Binary Download

Download pre-built binaries from GitHub Releases:

curl -sL https://github.com/WyattAu/ferro/releases/latest/download/ferro-server-linux -o ferro-server
chmod +x ferro-server
./ferro-server --port 8080

Docker

cd deploy
docker compose up -d

The Docker image is published at ghcr.io/wyattau/ferro:latest.

Docker with PostgreSQL

POSTGRES_PASSWORD=your-password docker compose -f docker-compose.yml -f docker-compose.pg.yml up -d

Docker with PostgreSQL and Redis

POSTGRES_PASSWORD=your-password docker compose -f docker-compose.yml -f docker-compose.pg.yml -f docker-compose.redis.yml up -d

Cargo Build from Source

Prerequisites

  • Rust 1.92+ (edition 2024)
  • OpenSSL (for PostgreSQL support)

Build

git clone https://github.com/WyattAu/ferro.git
cd ferro
cargo build --release --bin ferro-server
./target/release/ferro-server

Build with all storage backends

cargo build --release --features s3,gcs,azure --bin ferro-server

Run tests

cargo test --all

Nix

nix develop           # Full dev environment
nix develop .#web     # WASM build environment
nix develop .#desktop # Tauri desktop environment

System Requirements

Minimum

ResourceRequirement
CPU1 core
RAM128 MB
Disk50 MB (binary)
OSLinux, macOS, Windows
ResourceRequirement
CPU2+ cores
RAM512 MB
DiskDepends on storage backend
OSLinux (kernel 5.4+)

Runtime Dependencies

DependencyRequiredPurpose
OpenSSLIf using PostgreSQLTLS for database connections
FUSE kernel moduleFor ferro-fuseFilesystem mount support
tuntap kernel moduleFor FirecrackerMicroVM networking

Installing Additional Components

FUSE mount client

cargo install ferro-fuse

Admin CLI

cargo install ferro-cli

Desktop app

See Desktop App Guide for Tauri installation instructions.