Sign inSign up

pcm0/salt

By pcm0

•Updated 2 days ago

A lightweight container to provide a salt-master (or salt-api) service.

Image
Security
Monitoring & observability
0

100K+

pcm0/salt repository overview

⁠Salt Master

Compact, non-root Salt master container images with the system libraries and Python packages needed for common infrastructure-management integrations.

Source: github.com/PaulChristophel/docker-salt⁠

⁠Features

  • Runs salt-master as UID and GID 1000.
  • Uses tini as the init process.
  • Supports salt-ssh and OpenSSH clients.
  • Includes LDAP, Kerberos, GPG, PostgreSQL, Git, REST CherryPy, logging, OpenTelemetry, and Ansible dependencies.
  • Provides standard and interactive isalt profiles.
  • Publishes Debian slim and Photon OS 5 variants for linux/amd64.
  • Includes OCI image metadata for source, version, revision, creation time, license, base image, and Salt version.

⁠Tags

Tags identify the Python version, Salt release or branch, optional profile, and operating-system variant.

3.14-3008-debian
3.14-3008.2-debian
3.14-3008-isalt-debian
3.14-3008.x-photon-dev
3.14-master-1a2b3c4-isalt-debian-dev

Published combinations include:

  • Python 3.11 and 3.14 on Debian slim.
  • Python 3.14 on Photon OS 5.
  • Stable Salt 3006.27 and 3008.2 releases.
  • Development snapshots from the Salt 3006.x, 3008.x, and master branches where supported by the operating-system variant.
  • Standard and isalt profiles.

Stable images receive a moving feature-line tag, a full Salt-version tag, and a Git-SHA tag. Development tags end in -dev and are rebuilt from their upstream Salt branch. Use a Git-SHA tag for repeatable deployments.

There is intentionally no latest tag: select the Python, Salt, profile, and operating-system combination explicitly.

⁠Run with Podman

mkdir -p master.d pki srv

/opt/homebrew/bin/podman run --rm \
  --name salt-master \
  --publish 4505:4505 \
  --publish 4506:4506 \
  --volume ./master.d:/etc/salt/master.d:ro \
  --volume ./pki:/etc/salt/pki/master \
  --volume ./srv:/srv:ro \
  docker.io/pcm0/salt:3.14-3008-debian

The container starts salt-master -l info. Additional Salt arguments may be appended to the image reference:

/opt/homebrew/bin/podman run --rm \
  docker.io/pcm0/salt:3.14-3008-debian \
  -l debug

⁠Persistent data and configuration

Common mount points are:

  • /etc/salt/master.d — Salt master configuration.
  • /etc/salt/pki/master — persistent master keys and accepted minion keys.
  • /srv — Salt states, pillar data, and related files.
  • /var/log/salt — Salt logs when file logging is configured.
  • /var/cache/salt/master — persistent master cache when required.

Writable bind mounts must be writable by UID/GID 1000. Persist /etc/salt/pki/master in production so replacing the container does not create a new Salt master identity.

⁠Podman Compose example

services:
  salt-master:
    image: docker.io/pcm0/salt:3.14-3008-debian
    container_name: salt-master
    restart: unless-stopped
    ports:
      - "4505:4505"
      - "4506:4506"
    volumes:
      - ./master.d:/etc/salt/master.d:ro
      - ./pki:/etc/salt/pki/master
      - ./srv:/srv:ro

⁠Interactive Salt profile

Tags containing -isalt add IPython and isalt⁠. They use the same Salt release as the corresponding standard image.

⁠License

The image project is licensed under the GNU Affero General Public License v3.0 only (AGPL-3.0-only). Software bundled into the image retains its respective upstream license.

Tag summary

Content type

Image

Digest

sha256:ca4a124f4…

Size

190.3 MB

Last updated

2 days ago

docker pull pcm0/salt:3.14-3008.2-photon