Self-hosted Turborepo remote cache server packaged as a Fedora RPM
with the same base + -service + -container split used by the gitea
package.
- Base: dynamic sysusers turbo-cache user, /etc/turborepo-remote-cache
config dir with config.env token template, /var/cache storage dir
- -service: native Node.js systemd unit, app installed to
%{nodejs_sitelib}/turborepo-remote-cache with pnpm-vendored
production node_modules (built via fetch-sources.sh)
- -container: Podman quadlet pinned to
docker.io/ducktors/turborepo-remote-cache:2.8.2
- Listens on 127.0.0.1:3128; runners reach via host.containers.internal
25 lines
749 B
Plaintext
25 lines
749 B
Plaintext
[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.8.2
|
|
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
|
|
Volume=/var/cache/turborepo-remote-cache:/app/cache:Z
|
|
# Override STORAGE_PATH inside the container to match the bind mount
|
|
Environment=STORAGE_PATH=/app/cache
|
|
Environment=PORT=3000
|
|
Environment=HOST=0.0.0.0
|
|
|
|
[Service]
|
|
Restart=on-failure
|
|
RestartSec=5s
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target default.target
|