Reference
pushify.yaml
Declare how your app builds and runs next to the code. Anything set here wins over the dashboard on the next deploy — and it travels with the repository, so a "Deploy to Pushify" click or a teammate's fork gets the same setup.
Complete example
# pushify.yaml — lives at the root of your repository
framework: nextjs
install: pnpm install --frozen-lockfile
build: pnpm build
start: pnpm start
port: 3000
cron:
- name: nightly-report
schedule: "0 3 * * *"
timezone: Europe/Istanbul
command: node scripts/report.js
timeoutSeconds: 600
volumes:
- name: uploads
path: /app/uploads
workers:
- name: queue
command: node worker.js
- The file is read from the repository root on every deploy. Unknown keys are rejected so typos surface as a build error instead of silently doing nothing.
- Every field is optional. Leave one out and the dashboard value (or auto-detection) applies.
- Cron, volumes and workers are synced declaratively: what is in the file is what exists after the deploy.
Fields
frameworkstring
Skip auto-detection and force a build strategy: nextjs, react, vue, nuxt, svelte, astro, remix, nodejs, python, django, go, laravel, rails, static… If you have a Dockerfile, it still wins.
installstring
Dependency install command run before build (e.g. pnpm install --frozen-lockfile).
buildstring
Build command. Its dependency layer is cached between deploys.
startstring
Process command for the web container.
outputstring
Output directory for static sites (e.g. dist, out, build).
portnumber
Port your process listens on (1–65535). Pushify routes HTTPS traffic to it.
cron[]
Up to 20 scheduled commands, each executed inside your app container.
namestring · required
Unique within the project. Shown in the Cron tab and run history.
schedulestring · required
5-field cron expression ("*/15 * * * *"). Validated at deploy.
commandstring · required
Shell command run via docker exec in the running container.
timezonestring
IANA zone for the schedule (default UTC), e.g. Europe/Istanbul.
timeoutSecondsnumber
5–3600. The run is killed past this. Default from the dashboard.
volumes[]
Up to 10 named volumes that survive deploys, restarts and rollbacks.
namestring · required
Lowercase letters, digits and dashes, max 32 chars. Unique within the project.
pathstring · required
Absolute mount path inside the container (e.g. /app/uploads).
workers[]
Background processes started from the same image after each successful deploy — queues, schedulers, consumers.
namestring · required
Lowercase, dashes allowed, max 40 chars. Container becomes pushify-<project>-worker-<name>.
commandstring · required
Command override for the worker container (e.g. node worker.js, celery -A app worker).