No description
  • Shell 55.6%
  • Dockerfile 44.4%
Find a file
2026-11-04 18:28:31 +11:00
example Document PERSIST option and pin action to a tag 2026-11-04 17:33:39 +11:00
action.yml Add GitHub Action definition 2026-11-04 17:24:54 +11:00
deploy.sh Update external URL 2026-11-04 18:28:31 +11:00
Dockerfile Create writable /data dir for persistent app storage 2026-11-04 17:33:39 +11:00
README.md Document PERSIST option and pin action to a tag 2026-11-04 17:33:39 +11:00

deploy-shiny

Forgejo Action: build a Shiny app (from renv.lock) and register it with the shiny-stack waker on the runner host, which starts it on demand and stops it when idle. Requires the shiny-stack project at /home/mitchell/shiny-stack (mounted into jobs by the runner config) and a runner with the docker label.

Use

In the app repo (needs renv.lock + app.R or ui.R/server.R in the root), add .forgejo/workflows/deploy.yml — see example/deploy.yml.

Optional files in the app repo: apt.txt (extra apt packages, one per line) and shiny.env (MEM_LIMIT=1g, CPUS=2, SESSION_DURATION=1h, PERSIST=true for a volume at /data; values must be alphanumeric/.).

App URL: https://<repo name lowercased, _ -> ->.shiny.nectric.com.au.

Files: action.yml (composite entry), deploy.sh (build + register), Dockerfile (shared app image).

Pin to a tag (@v1), not @main. Last 3 per-commit image tags are kept per app.