Skip to content

:simple-samba: Samba

Description / nameInput element
Container Registry
Container Configuration Root Path
Timezone
Samba Host Port
Samba /config Path
Samba /shares Path

Build Status Last Commit

SMB/CIFS file sharing and Active Directory compatible Domain Controller for FreeBSD.

Port 445
Registry ghcr.io/daemonless/samba
Daemonless daemonless/samba
Source www.samba.org/
Website www.samba.org

Version Tags

Tag Description Best For
latest / pkg FreeBSD Quarterly. Uses stable, tested packages. Most users. Matches Linux Docker behavior.
pkg-latest FreeBSD Latest. Rolling package updates. Newest FreeBSD packages.
422-pkg FreeBSD Quarterly. Uses stable, tested packages. Production stability.
422-pkg-latest FreeBSD Latest. Rolling package updates. Newest FreeBSD packages.
422-pkg-krb MIT Kerberos. Built from ports with MIT KRB5 instead of Heimdal. Alternative build.

Root Privileges Required

Podman on FreeBSD currently requires root. All commands must be run as root (or via doas/sudo).

Before deploying, ensure your host environment is ready. See the Quick Start Guide for host setup instructions.

Deployment

services:
  samba:
    image: ghcr.io/daemonless/samba:latest
    container_name: samba
    environment:
      - TZ=UTC
    volumes:
      - "/path/to/containers/samba:/config"
      - "/path/to/containers/samba/shares:/shares"
    ports:
      - 445:445
      - 139:139
    restart: unless-stopped
DIRECTOR_PROJECT=samba
TZ=UTC
options:
  - virtualnet: ':<random> default'
  - nat:
services:
  samba:
    name: samba
    options:
      - container: 'boot args:--pull'
    oci:
      user: root
      environment:
        - TZ: !ENV '${TZ}'
    volumes:
      - SAMBA_CONFIG_PATH: /config
      - SAMBA_SHARES_PATH: /shares
volumes:
  SAMBA_CONFIG_PATH:
    device: '/path/to/containers/samba'
  SAMBA_SHARES_PATH:
    device: '/path/to/containers/samba/shares'
ARG tag=latest

OPTION overwrite=force
OPTION from=ghcr.io/daemonless/samba:${tag}
podman run -d --name samba \
  -p 445:445 \
  -p 139:139 \
  -e TZ=UTC \
  -v /path/to/containers/samba:/config \
  -v /path/to/containers/samba/shares:/shares \
  ghcr.io/daemonless/samba:latest
- name: Deploy samba
  containers.podman.podman_container:
    name: samba
    image: ghcr.io/daemonless/samba:latest
    state: started
    restart_policy: always
    env:
      TZ: "UTC"
    ports:
      - "445:445"
      - "139:139"
    volumes:
      - "/path/to/containers/samba:/config"
      - "/path/to/containers/samba/shares:/shares"

Access at: http://localhost:445

Interactive Configuration

Parameters

Environment Variables

Variable Default Description
TZ UTC Timezone for the container

Volumes

Path Description
/config smb.conf and persistent state
/shares Shared data directories

Ports

Port Protocol Description
445 TCP SMB
139 TCP NetBIOS session

Implementation Details

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

Need help? Join our Discord community.