Create projects
Create and manage apps from Rivet with the core project lifecycle in one place.
Rivet helps you ship Docker apps to your own server with SSL, domain routing, encrypted secrets, auto-sleep, and per-app runtime monitoring.
$ curl -fsSL \
https://raw.githubusercontent.com/devmin8/rivet/main/scripts/install.sh \
| sh
# Guided setup starts
# After install:
# https://console.your-given-domain.com
The goal is not to be a giant platform. The goal is to make the common VPS deployment path clean, secure, and understandable.
Create and manage apps from Rivet with the core project lifecycle in one place.
Set up HTTPS for deployed apps so they are reachable securely on their domain.
Provide a Cloudflare token and Rivet can create the required domain entry for you.
Once configured, apps become available automatically on the given domain.
Apps can sleep when there are no requests. Sleep timing is configurable per deployment needs.
Manage environment variables and secrets safely. Secrets are encrypted and injected at runtime.
View CPU, memory, and network usage for each individual app running on your server.
Bring up the Rivet server once, then use the CLI from any Docker project directory to create a project, upload an image, and deploy it behind your domain.
The server installer asks for your domain, secret key, image names, and persistent state path. When it finishes, the console is served from the domain you configured.
The CLI talks to that server with RIVET_SERVER_URL
or --server-url, and stores your session
after signup or signin.
1. Boot the Rivet server
curl -fsSL \
https://raw.githubusercontent.com/devmin8/rivet/main/scripts/install.sh \
| sh
Run this on the VPS that will host your apps. The guided setup configures the domain, secret encryption key, Docker network, Caddy, server, and console containers.
2. Get the CLI
Download the Rivet CLI for your machine from GitHub releases, then point it at your Rivet server before signing in.
Open releases3. Ship a new Docker project
# Point the CLI at your Rivet server
export RIVET_SERVER_URL=https://console.example.com
# Create the first account and store a session
rivet signup
# From a directory with a Dockerfile
rivet ship
# Choose "new", then enter:
# name, domain, app port, and optional description
rivet ship builds the current directory,
uploads the image, and deploys it. Use --platform
for linux/amd64 or
linux/arm64.
Runtime values from .env
If a .env file is present,
rivet ship imports it before the Docker
build. Keys prefixed with RIVET_SECRET_
are saved as encrypted secrets and exposed to the app without that prefix.
APP_URL=https://my-app.example.com
RIVET_SECRET_API_KEY=sk_live_example
Rivet is being built in public and the roadmap is focused on practical infrastructure features for small teams and self-hosters.
View and inspect app logs from the console.
Manage multiple servers from one Rivet control plane.
Track server-level CPU, memory, disk, swap, and runtime health.
Host static sites directly without needing a Docker image.
Build Docker images automatically with Railpack.
Database provisioning and backup workflows for hosted apps.
Development preview
Rivet is early, but the direction is clear: minimal self-hosted infrastructure, secure defaults, and enough automation to make VPS deployments pleasant.