Docs

Doc / build-freebsd



Build OmniEdge for FreeBSD

OmniEdge v2.x CLI can be built on FreeBSD using the Rust toolchain.

Supported Versions

  • FreeBSD 13.x, 14.x
  • amd64 (x86_64) architecture

Prerequisites

Install Dependencies

# As root or with sudo
pkg update
pkg install -y \
    rust \
    cargo \
    git \
    pkgconf \
    openssl

Or install Rust via rustup (recommended):

pkg install -y curl git pkgconf openssl

# Install Rust via rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env

# Verify
rustc --version  # Should be 1.70+

Build CLI

Clone and Build

git clone https://github.com/omniedgeio/omniedge.git
cd omniedge

# Build CLI in release mode
cargo build --release -p omni-cli

# Binary location
ls -la target/release/omniedge

Install CLI

# Install to /usr/local/bin
sudo cp target/release/omniedge /usr/local/bin/

# Verify
omniedge --version

Build Helper Service

cargo build --release -p omni-helper

# Install helper
sudo cp target/release/omni-helper /usr/local/bin/

Testing

# Run tests
cargo test -p omni-cli

Running OmniEdge

Start OmniEdge

# Requires root for TUN interface
sudo omniedge start -s YOUR_SECURITY_KEY -n YOUR_NETWORK_ID

Run as rc.d Service

Create /usr/local/etc/rc.d/omniedge:

#!/bin/sh

# PROVIDE: omniedge
# REQUIRE: NETWORKING
# KEYWORD: shutdown

. /etc/rc.subr

name="omniedge"
rcvar="${name}_enable"

command="/usr/local/bin/omniedge"
command_args="start -s ${omniedge_key} -n ${omniedge_network}"

load_rc_config $name
run_rc_command "$1"

Configure in /etc/rc.conf:

omniedge_enable="YES"
omniedge_key="YOUR_SECURITY_KEY"
omniedge_network="YOUR_NETWORK_ID"

Start the service:

service omniedge start

Troubleshooting

Missing OpenSSL

If you see OpenSSL-related errors:

pkg install -y openssl

# Set environment variables
export OPENSSL_DIR=/usr/local
export OPENSSL_LIB_DIR=/usr/local/lib
export OPENSSL_INCLUDE_DIR=/usr/local/include

TUN Device

FreeBSD should have TUN support built into the kernel. Verify:

# Check if tun module is loaded
kldstat | grep if_tun

# Load if needed
kldload if_tun

Desktop Application

The Tauri-based desktop application is not available for FreeBSD. Use the CLI version.


If you have more questions, feel free to discuss.

On This Page

OmniEdge

© 2026 OmniEdge Inc. All rights reserved

Built by a global remote team.

TwitterGithubDiscord