Skip to content

FreeBSD Base Core FreeBSD Base Core

Description / nameInput element
Container Registry

Build Status Last Commit OCI Pulls

Minimal FreeBSD base image without service supervision. Foundation for CLI tools and non-daemon containers.

Registry ghcr.io/daemonless/base-core
Daemonless daemonless/base-core
Source freebsd/freebsd-src
Website www.freebsd.org

Version Tags

Multi-arch manifests — resolve automatically to the right image for your platform.

Tag Description Best For
15-pkg FreeBSD Port. Built from FreeBSD packages. Production stability.
15-pkg-latest FreeBSD Port. Built from FreeBSD packages. Production stability.
15 / 15.1-pkg / latest FreeBSD Port. Built from FreeBSD packages. Production stability.
15-latest / 15.1-pkg-latest FreeBSD Port. Built from FreeBSD packages. Production stability.
Tag Description Best For
15-pkg-amd64 FreeBSD Port. Built from FreeBSD packages. Production stability.
15-pkg-latest-amd64 FreeBSD Port. Built from FreeBSD packages. Production stability.
15-amd64 / 15.1-pkg-amd64 / latest-amd64 FreeBSD Port. Built from FreeBSD packages. Production stability.
15-latest-amd64 / 15.1-pkg-latest-amd64 FreeBSD Port. Built from FreeBSD packages. Production stability.
Tag Description Best For
15-pkg-aarch64 FreeBSD Port. Built from FreeBSD packages. Production stability.
15-pkg-latest-aarch64 FreeBSD Port. Built from FreeBSD packages. Production stability.
15-aarch64 / 15.1-pkg-aarch64 / latest-aarch64 FreeBSD Port. Built from FreeBSD packages. Production stability.
15-latest-aarch64 / 15.1-pkg-latest-aarch64 FreeBSD Port. Built from FreeBSD packages. Production stability.

Before deploying, ensure your host environment is ready. See the Quick Start Guide for host setup instructions, including the security model for host vs. container privileges.

Deployment

1
2
3
4
5
6
services:
  base-core:
    image: "ghcr.io/daemonless/base-core:latest"
    container_name: base-core
    # always (not unless-stopped) so FreeBSD's podman rc.d auto-starts it at boot
    restart: always

Save as compose.yaml, then run podman-compose up -d.

podman run -d --name base-core \
  ghcr.io/daemonless/base-core:latest

Save as run.sh, then run sh run.sh.

1
2
3
4
5
6
- name: Deploy base-core
  containers.podman.podman_container:
    name: base-core
    image: "ghcr.io/daemonless/base-core:latest"
    state: started
    restart_policy: always

Save as base-core-deploy.yaml, then run ansible-playbook base-core-deploy.yaml.

Experimental

Bastille's OCI support is experimental. It requires buildah and shares the host network stack (inherit). Mount volumes with --volume HOST JAIL; without it, image-declared volumes are stored under ${bastille_volumesdir}/${jail}.

1
2
3
4
5
6
services:
  base-core:
    name: base-core
    image: "ghcr.io/daemonless/base-core:latest"
    network:
      - mode: host

Save as bastille-compose.yml, then run bastille up.

bastille create -O \
  base-core ghcr.io/daemonless/base-core:latest inherit

Interactive Configuration

Implementation Details

  • Architectures: amd64, aarch64
  • User: bsd (UID/GID set via PUID/PGID). Defaults to 1000:1000.
  • Base: Built on ghcr.io/daemonless/base (FreeBSD 15.1).

Need help? Join our Discord community.