Files
turborepo-remote-cache/turborepo-remote-cache.container
zpericic 37962b2ba8 Fix cache storage landing in ephemeral /tmp
Upstream joins STORAGE_PATH onto os.tmpdir() unless
STORAGE_PATH_USE_TMP_FOLDER=false, even for absolute paths, so the
container wrote artifacts to /tmp/app/cache instead of the bind mount
and lost them on every restart. Set the flag in both config.env
(native service) and the quadlet, and chown the host cache dir to the
container user via the :U volume option.
2026-08-02 16:16:14 +02:00

30 lines
1.0 KiB
INI

[Unit]
Description=Turborepo Remote Cache (Podman quadlet)
Documentation=https://github.com/ducktors/turborepo-remote-cache
After=network-online.target
Wants=network-online.target
[Container]
ContainerName=turborepo-remote-cache
Image=docker.io/ducktors/turborepo-remote-cache:2.11.5
EnvironmentFile=/etc/turborepo-remote-cache/config.env
# Bind to loopback on the host; runners reach via host.containers.internal
PublishPort=127.0.0.1:3128:3000
# :U chowns the host dir to the container's "app" user on start
Volume=/var/cache/turborepo-remote-cache:/app/cache:Z,U
# Override STORAGE_PATH inside the container to match the bind mount.
# STORAGE_PATH_USE_TMP_FOLDER=false is required: by default the server
# joins STORAGE_PATH onto os.tmpdir() (even absolute paths) and writes
# to the ephemeral /tmp/app/cache instead of the bind mount.
Environment=STORAGE_PATH=/app/cache
Environment=STORAGE_PATH_USE_TMP_FOLDER=false
Environment=PORT=3000
Environment=HOST=0.0.0.0
[Service]
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target default.target