Settings Options

Most stacks will rely on some central settings. An example would be the base location where containers should create bind mounts for persistent data.

The following list contains all of the central settings.


tarow.podman.enableSocket

Whether to enable the Podman socket for user services. Note that the socket is required for the services like Traefik or Homepage to run successfully, since they access the Podman API.

If this is disabled and you use these services, you will need to manually enable the socket.

Type: boolean

Default: true

Declared by:

tarow.podman.package

The podman package to use.

Type: package

Default: pkgs.podman

Declared by:

tarow.podman.defaultGid

GID of the user that will be used by default for containers if they allow GID configuration. When running rootless containers, GID 0 gets mapped to the host users GID.

Type: signed integer

Default: 0

Declared by:

tarow.podman.defaultTz

Default timezone for containers. Will be passed to all containers as TZ environment variable.

Type: null or string

Default: "Etc/UTC"

Declared by:

tarow.podman.defaultUid

UID of the user that will be used by default for containers if they allow UID configuration. When running rootless containers, UID 0 gets mapped to the host users UID.

Type: signed integer

Default: 0

Declared by:

tarow.podman.externalStorageBaseDir

Base location that will be used for larger data such as downloads or media files. Could be an external disk.

Type: absolute path

Declared by:

tarow.podman.hostIP4Address

The IPv4 address which will be used in case explicit bindings are required.

Type: string

Declared by:

tarow.podman.hostUid

UID of the host user running the containers. Will be used to infer the Podman socket location (XDG_RUNTIME_DIR).

Type: signed integer

Default: 1000

Declared by:

tarow.podman.mediaStorageBaseDir

Base location for larger media files. This is where containers like Jellyfin or Immich will store their media files.

Type: absolute path

Default: "${config.tarow.podman.externalStorageBaseDir}/media"

Declared by:

tarow.podman.socketLocation

The location of the Podman socket for user services. Will be passed to containers that communicate with the Podman API, such as Traefik, Homepage or Beszel.

Type: absolute path (read only)

Default: "/run/user/${toString config.tarow.podman.hostUid}/podman/podman.sock"

Declared by:

tarow.podman.storageBaseDir

Base directory for Podman storage. This is where each stack will create its bind mounts for persistent data. For example, setting this to /home/foo/stacks would result in Adguard creating its bind mount at /home/foo/stacks/adguard.

Type: absolute path

Default: "${config.home.homeDirectory}/stacks"

Declared by: