Server App (Parse runtime)
A Server App is your backend code running on DPS’s shared Parse runtime (Parse Server 9). You ship only your app layer; DPS builds a thin image — the runtime plus your code — and runs it. There is no server to boot in your repo.
When you connect a repository, DPS can scaffold it for you (“make compatible”). The layout:
src/
cloud/index.ts entry; auto-loads every other file in cloud/
cloud/*.ts your Parse.Cloud.define / triggers / jobs
routes/*.ts optional Express routers (auto-mounted)
schema/*.json optional Parse classes (applied on boot)
seed.ts optional idempotent seed (runs after the schema)
dps.app.ts declares LiveQuery classes and wires the seed.dps/server-app.json is the deploy contract (it names the source root). Repo-root files —
package.json, tsconfig, .dps/, .github/ — are configuration and don’t ship.
Conventions
- Cloud function → add
src/cloud/<name>.ts. - Route → add
src/routes/<name>.tsexporting a Router. - Class → add
src/schema/<Class>.json. - Webhooks → a cloud function named
handle<Provider>Webhook; DPS servesPOST /webhooks/:providerand calls it. - LiveQuery → list classes in
dps.app.tsand/or switch them on in the dashboard. seed()runs on every deploy — keep it idempotent.package.jsonlists only your extra dependencies; the runtime already providesparse,express,mongodband friends.- Environment variables are set in the dashboard, not committed.
Classes are closed by default
On boot (and every few minutes after), the runtime closes any class still on Parse’s
wide-open default so it needs the master key; _Role loses client writes. A class you give
explicit class-level permissions, declare in your schema, or list in your manifest’s
publicClasses is left alone.
In the dashboard
A Server App has Overview, Data (database, schema and records, storage, services), API Studio (functions and routes, jobs), Connect (keys, URLs and environment variables for your frontend), Integrations, Deployments, Logs & Metrics, Domain, Plan and Settings. Backups can be made, downloaded and restored from Data.
The database is MongoDB or Postgres — one DPS manages for you, or your own connection string.