Goal
Run a frontend, APIs, workers, and databases as one application where only the services you choose are exposed to the internet.Prerequisites
- A StackShift account
- A GitHub repository (monorepo or one repo per service)
Workflow
1
Create an application from Dashboard -> Applications. The name sets the internal domain every service shares.
2
Add each service with its repository, root directory, port, and type (web service, background worker, or scheduled job).
3
Mark services public or private. Public services get a URL on the internet; private services are only reachable by their siblings.
4
Attach managed databases to the application so services can connect to them.
5
Deploy services individually — a push to a monorepo only rebuilds the services whose directories changed.
What an application gives you
- One private network per application — services in different applications cannot reach each other, even by IP.
- A stable internal hostname per service that survives redeploys and always points at healthy instances.
- Independent builds and deploys per service, each with its own repository, branch, root directory, logs, and environment.
- A dependency map in the dashboard showing which services talk to each other and why.
Import everything from one file
Instead of adding services one by one, paste a stackshift.yaml in the Import tab. Preview first to see exactly what would be created.Expected result
Every service has a stable internal hostname like api.myapp-1a2b3c4d.stackshift.internal, and only the services you marked public answer on the internet.
Common failures
Related guides
Private networking and connections
Connect one service to another so StackShift injects the internal URL as an environment variable — no IPs or hostnames to copy, and private services never touch the public internet.
Deploy from GitHub
Use the repository-backed project flow when you want StackShift to detect the app, build from source, and let you override runtime behavior before the first deploy.
Worker and background processes
Run a project as a background process type (worker, queue, scheduler, reverb) instead of a public web service.