Scaling
2 min read
Vertical scaling
There's no in-CLI resize — your server's CPU/RAM/disk are whatever your VPS provider gave it. To size up:
- Resize the instance through your provider's console/CLI (most support a live or reboot resize)
- Once it's back up, teploy needs nothing re-run — your existing deploy state, containers, and Caddy config are untouched
Horizontal scaling
Run the same app across multiple servers with teploy.yml:
app: myapp
domain: myapp.com
servers:
- web1
- web2
- web3
parallel: 3teploy deployteploy deploy deploys to all listed servers (in parallel, up to parallel at once, or --parallel N) and updates the load balancer's upstream list. If any server fails, the servers that already succeeded are automatically rolled back so the fleet never ends up split across two versions.
Scale to more app-role servers directly:
teploy scale 5This deploys to N app-role servers from servers.yml and updates the load balancer.
Per-process replicas
Run multiple replicas of a single process (e.g. the web process) on one server:
processes:
web: "npm start"
replicas: 3Caddy load-balances across the replicas.
App resource limits
Not yet configurable through teploy.yml — there's no memory:/cpus: field today. Containers run without a Docker resource limit unless you set one yourself (e.g. in a custom Dockerfile ENTRYPOINT wrapper, or by editing the container's runtime limits directly). If you need this, treat it as a gap to raise, not a supported feature.
Auto-scaling
Not supported. Horizontal scaling is manual — add a server to servers.yml, add it to teploy.yml's servers: list, deploy.