Quick Start
2 min read
Get your first app deployed in under 5 minutes using the teploy CLI.
Prerequisites
- A server with SSH access (any VPS or bare metal running Linux)
- A domain name pointing to your server's IP
1. Install the CLI
[object Promise]Or download the binary directly from GitHub releases.
2. Prepare your server
Point the CLI at a fresh server and it will install Docker, configure the firewall, and start Caddy:
[object Promise]This adds the server to ~/.teploy/servers.yml and provisions it for deployments.
3. Initialize your project
From your project directory:
[object Promise]This generates a teploy.yml config file. For a typical web app, it looks like this:
That is the minimum config. Three lines.
4. Deploy
[object Promise]Teploy detects your Dockerfile (or uses Nixpacks if none exists), builds the image, ships it to your server, starts the container with health checking, routes traffic through Caddy with auto-HTTPS, and stops the old container. Zero downtime.
5. Verify
[object Promise]Your app is live at https://myapp.com with an auto-provisioned SSL certificate.
Add a database
Define accessories in teploy.yml:
The next deploy automatically starts Postgres and injects DATABASE_URL into your app's environment.
Set environment variables
[object Promise]Set up auto-deploy
[object Promise]This installs a webhook listener on your server. Add the webhook URL to your GitHub repo settings, and every push to main triggers a deploy.
Next steps
- Core Concepts — state files, accessories, and how it all works
- Docker deploys — Dockerfile, local vs server builds
- Databases — PostgreSQL, MySQL, Redis as accessories
- Environment variables — Managing config per app
- Custom domains — Point your domain to your app