Hardened Tautulli image — no s6-overlay, non-root, read-only root filesystem.
USER 1000:1000 default, overridable)readOnlyRootFilesystem compatibleamd64, arm64| Path | Purpose | Required |
|---|---|---|
/config | Persistent data — database, config.ini, logs | Always |
/tmp | Writable temporary files | Only with readOnlyRootFilesystem: true |
services:
tautulli:
image: ppaslan/tautulli:latest
restart: unless-stopped
user: "1000:1000"
read_only: true
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
ports:
- "8181:8181"
volumes:
- ./config:/config
tmpfs:
- /tmp:size=128m
spec:
securityContext:
runAsUser: 1000
runAsGroup: 1000
runAsNonRoot: true
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
seccompProfile:
type: RuntimeDefault
containers:
- name: tautulli
image: ppaslan/tautulli:latest
securityContext:
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
capabilities:
drop: [ALL]
volumeMounts:
- name: config
mountPath: /config
- name: tmp
mountPath: /tmp
volumes:
- name: config
persistentVolumeClaim:
claimName: tautulli-config
- name: tmp
emptyDir:
medium: Memory
sizeLimit: 128Mi
docker buildx build \
--platform linux/amd64,linux/arm64 \
--build-arg TAUTULLI_VERSION=2.17.1 \
-t ppaslan/tautulli:2.17.1 \
images/tautulli/
Content type
Image
Digest
sha256:ff7bce77d…
Size
58 MB
Last updated
3 days ago
docker pull ppaslan/tautulli