No description
  • Shell 59.1%
  • Dockerfile 40.9%
Find a file
2026-10-05 16:00:18 +02:00
.forgejo/workflows Remove previews on every PR close 2026-10-05 16:00:18 +02:00
Dockerfile Reusable deploy and preview workflows, central Dockerfile 2026-10-05 15:36:06 +02:00
README.md Reusable deploy and preview workflows, central Dockerfile 2026-10-05 15:36:06 +02:00
ship.sh Reusable deploy and preview workflows, central Dockerfile 2026-10-05 15:36:06 +02:00

Actions

Reusable Forgejo workflows for the apps and sites on pxlrbt.de. The server side (runners, /opt/services/app, the Laravel and site templates) is in dkoch/server; the app repos only hold a few-line caller per workflow.

Workflow Called on Does
preview.yml pull_request PR with the preview label → https://pr-<n>.<APP_DOMAIN>, comments the URL; label removed or PR closed → removed
deploy.yml push (tag or branch) builds and deploys <env> at <host>, defaults live at APP_DOMAIN

ship.sh does the work for both: build, push to the Forgejo registry, deploy over SSH to /opt/services/app. Dockerfile is the one image for every app and site: FrankenPHP, Composer, npm build. The repo variable PHP_VERSION picks the PHP version (default 8.4), an optional .docker/build.sh in the app adds build steps, and an app with its own .docker/Dockerfile uses that instead. The workflows fetch both files from main of this repo, so this repo must stay public.

Pin apps to @main, or tag this repo and pin to @v1 for apps that must not pick up changes.

Variables and secrets come from the calling repo (secrets: inherit), see docker/laravel/README.md in dkoch/server for the list.