Open Source · Alpha

FreeBSD containers,
everywhere.

Run FreeBSD jails on Linux with Docker-like simplicity. Powered by BSDulator's real-time syscall translation engine. No VMs. No overhead. Just containers.

lochs — ~/projects
# Install Lochs
$ curl -fsSL https://lochs.dev/install.sh | sudo bash
✓ BSDulator engine installed
✓ FreeBSD 15.0-RELEASE base fetched

# Create and run a jail
$ lochs run --name webserver --vnet -p 8080:80 freebsd:15
✓ Jail "webserver" created (JID 1) — 10.0.0.10

# Execute into the jail
$ lochs exec webserver /bin/sh
root@webserver:/ # pkg install nginx
Architecture

How It Works

Lochs uses BSDulator's ptrace-based syscall interception to translate FreeBSD system calls into Linux equivalents at runtime — no kernel modules, no virtualization.

User Space
lochs CLI
Prisonfile
prison.yml
Web Dashboard
Container Mgmt
Jail Lifecycle
Image Registry
Network Manager
Volume Manager
BSDulator Engine
Ptrace Interceptor
Syscall Translator
ELF Loader
ABI Translator
TLS Emulation
Linux Kernel
Namespaces
Cgroups v2
Veth / Bridge
Seccomp
OverlayFS
Capabilities

Everything you need

BSD-grade security isolation meets Docker-like developer experience.

Zero-VM Execution

Run FreeBSD binaries directly on Linux through ptrace syscall translation. No QEMU, no VirtualBox.

🔒

VNET Isolation

Each jail gets a dedicated virtual network stack via Linux network namespaces.

📦

Docker-Like CLI

Familiar commands: lochs run, lochs build, lochs compose. If you know Docker, you know Lochs.

🏗️

Prisonfile Builds

Dockerfile-style image building with FROM, COPY, ENV, RUN directives.

🎼

Compose Orchestration

Multi-container orchestration with prison.yml — dependency resolution and port forwarding.

🌐

Port Forwarding

Expose jail services to the host with socat-based port mapping. -p 8080:80 just works.

📡

Live Jail Management

Create, start, stop, attach, and remove jails in real time with state persistence.

🧬

500+ Syscalls Mapped

Comprehensive FreeBSD-to-Linux syscall translation for file ops, networking, signals, and jails.

🛡️

Namespace Isolation

Mount, UTS, PID, and network namespaces per jail with cgroups v2 resource limits.

Core Engine

Powered by BSDulator

The syscall translation engine that makes it all possible.

Real-time ABI translation,
not emulation.

BSDulator intercepts FreeBSD system calls using ptrace and translates them to Linux equivalents before they reach the kernel. FreeBSD binaries run at near-native speed with full jail support.

500+
Syscalls mapped
~0ms
Translation overhead
x86_64
Architecture

Working: ls cat pwd echo sh tar jail jls jexec

syscall translation
FreeBSDLinuxNameStatus
52open
63close
5416ioctl
507jail_set✓ emulated
506jail_get✓ emulated
436jail_attach✓ emulated
508jail_remove✓ emulated
574__realpathatstub
596credsync✓ emulated
CLI Reference

Simple, powerful commands

If you know Docker, you already know Lochs.

lochs — container lifecycle
# Build from a Prisonfile
$ lochs build -f Prisonfile -t myapp:latest .
Step 1/5 : FROM freebsd:15
Step 2/5 : RUN pkg install -y nginx
Step 3/5 : COPY ./conf /usr/local/etc/nginx/
Step 4/5 : EXPOSE 80
Step 5/5 : CMD ["nginx", "-g", "daemon off;"]
✓ Built myapp:latest (142MB)

# Multi-container orchestration
$ lochs compose -f prison.yml up
Creating network "myapp_default"...
Creating jail "myapp_web_1"...
Creating jail "myapp_db_1"...
✓ 2 jails started
lochs runCreate + start
lochs buildBuild Prisonfile
lochs composeOrchestration
lochs execExecute in jail
lochs psList jails
lochs stopStop gracefully
lochs imagesList images
lochs logsView output
lochs networkManage VNET
lochs inspectJail details
lochs rmRemove jail
lochs pullPull registry
Comparison

Why Lochs?

BSD jail security, Docker-level usability, zero virtualization overhead.

FeatureDockerFreeBSD JailsLochs
Runs on Linux
No VM required (native)
VNET isolation
Jail-grade security
Dockerfile-style builds Prisonfile
Compose orchestration prison.yml
FreeBSD binary compat BSDulator
Port forwardingManual
Get Started

Up and running in 60 seconds

Linux with kernel 3.8+ and root access. That's all you need.

1

Install

One-line install pulls BSDulator + FreeBSD base + Lochs CLI.

2

Create a jail

lochs run --name test freebsd:15

3

Build something

Write a Prisonfile, build an image, deploy FreeBSD services on Linux.

install — one command
$ curl -fsSL https://lochs.dev/install.sh | sudo bash

[1/3] Installing BSDulator engine...
[2/3] Fetching FreeBSD 15.0-RELEASE base...
[3/3] Installing Lochs CLI...

✓ Lochs v0.1.0 installed successfully
✓ Run: lochs run --name hello freebsd:15
Pricing

Open source at the core

The engine is free forever. Managed services for teams.

Community
$0 /forever
Full engine, open source.
  • BSDulator syscall engine
  • Lochs CLI
  • Unlimited local jails
  • VNET networking
  • Prisonfile builds
  • Compose orchestration
  • Community support
Get Started
Pro
$12 /mo
For developers shipping with jails.
  • Everything in Community
  • Private image registry
  • Web dashboard
  • Snapshot & rollback
  • Resource monitoring
  • CI/CD integrations
  • Priority support
Subscribe to Pro
Enterprise
Custom
For teams and production.
  • Everything in Pro
  • Multi-node orchestration
  • Distributed jails
  • RBAC & audit logging
  • SELinux/AppArmor
  • Dedicated support
  • Custom SLA
Contact Sales
Roadmap

What's next

Shipping fast, shipping open.

Phase 1 — Complete

Core Syscall Translation

500+ FreeBSD syscalls mapped. ELF loader, TLS emulation, signal handling.

Phase 2 — Complete

Jail Syscall Emulation

jail_set, jail_get, jail_attach, jail_remove. Namespace integration, state persistence.

Phase 3 — Complete

VNET & Advanced Features

Virtual networking via Linux namespaces. Bridge networking, jail-to-jail connectivity.

Phase 4 — In Progress

Lochs CLI & Container Platform

Docker-like CLI, Prisonfile builds, prison.yml compose, port forwarding.

Phase 5 — Planned

Cross-Platform & GUI

macOS and Windows support. Tauri desktop app. Web dashboard.

Phase 6 — Future

Distributed Jails & Registry

Multi-node orchestration. Public jail image registry. CI/CD runners.