Sign inSign up

hexian000/debian-s6

By hexian000

•Updated 5 months ago

Debian with s6-svscan as init.

Image
Operating systems
0

4.4K

hexian000/debian-s6 repository overview

⁠debian-s6

Debian Slim base image with s6⁠ process supervision built in.

⁠Quick reference

  • Image: hexian000/debian-s6
  • Base: Debian Slim⁠
  • Platforms: linux/amd64, linux/arm64, linux/arm/v7

⁠Tags

TagBase
latest, 13, trixieDebian 13 (Trixie)
12, bookwormDebian 12 (Bookworm)
11, bullseyeDebian 11 (Bullseye)

⁠What's included

  • s6 — process supervision suite
  • execline — s6 companion scripting language
  • busybox — Unix utilities (installed system-wide via busybox --install)
  • Custom /sbin/init entrypoint

⁠How it works

The /sbin/init entrypoint handles startup in this order:

  1. rc.local — if /etc/rc.local is executable, it is run first.
  2. One-shot command — if arguments are passed to the container, they are executed directly via bash.
  3. Service supervision — if /var/services/ exists:
    • writable mount → symlinked to /run/service (bind-mount your services directory)
    • read-only → copied into /run/service
    • absent → drops to an interactive shell
  4. s6-svscan is exec'd over /run/service.

⁠Usage

⁠Run a supervised service

Create a service directory with a run script:

myapp/
└── run        ← executable shell script
FROM hexian000/debian-s6:latest

COPY myapp /var/services/myapp

Or mount the services directory at runtime:

docker run -v /host/services:/var/services hexian000/debian-s6
⁠Run a one-shot command
docker run --rm hexian000/debian-s6 /your-script.sh
⁠Run with rc.local initialization
FROM hexian000/debian-s6:latest

COPY rc.local /etc/rc.local
RUN chmod +x /etc/rc.local

COPY myapp /var/services/myapp

⁠Service directory layout

/var/services/
└── myservice/
    ├── run          ← required: exec the long-running process
    └── finish       ← optional: cleanup on exit

Each run file must be an executable script that execs the service process (do not background it).

#!/bin/bash
exec /usr/bin/myapp --flag

⁠Locale

LANG=C.UTF-8 is set by default, so UTF-8 text handling works out of the box without installing additional locale packages.

Tag summary

Content type

Image

Digest

sha256:1ab10a9d4…

Size

29.3 MB

Last updated

5 months ago

docker pull hexian000/debian-s6