Deploy Docker on your own server.
Bring your Dockerfile or a prebuilt image and run it on your own server, with zero-downtime releases, previews and automatic HTTPS.
- Build
- Dockerfile or image
- Start
- Your image’s CMD, or a start command that overrides it
- Port
- $PORT, set by Beep
- Health check
- /health
Step by step.
Connect a server
Use Beep Cloud, a server in your own cloud account, or any Ubuntu or Debian VPS. Beep installs its runtime and agent and locks the server down: inbound traffic is denied, and app ports are reachable only from Beep’s edge.
Create a service from your repository
Pick the GitHub or GitLab repository and the branch to track. In a monorepo, set the root directory for this service; watch paths limit rebuilds to changes that touch it.
Let Beep build it
Set the build to Dockerfile and point Beep at its path, or deploy a prebuilt image by tag. You can override the install, build or start command on the service.
Start command Your image’s CMD, or a start command that overrides itListen on $PORT
Beep sets PORT for every service unless you set it yourself, and routes traffic from its edge to that port. Bind to 0.0.0.0 so the edge can reach the container.
Dockerfile # listen on 0.0.0.0:$PORT inside the container ENV PORT=8080 CMD ["./server"]Add a database
Add managed Postgres (16 to 18, with pgvector and PostGIS), Redis or Valkey to the project, then reference its connection string from your service. References resolve at deploy time.
Environment variables DATABASE_URL=${{ postgres.DATABASE_URL }} REDIS_URL=${{ redis.REDIS_URL }}Set a health check and deploy
Set the health check path to /health. Every push to the tracked branch builds and releases; traffic moves to the new version only once it passes, and rolling back re-releases an earlier image without a rebuild.
Add your domain
Every service starts with a URL on edge.usebeep.sh. When it works, point a CNAME for your domain at Beep; the certificate is issued and renewed for you. Each GitHub pull request also gets its own preview environment, removed when it closes.
Docker tips.
Bind to 0.0.0.0, not localhost, so Beep’s edge can reach the container.
Monorepos work: set the root directory and the Dockerfile path for each service.
Keep images small and multi-stage; builds run on Beep’s build platform or a build server you bring.
Docker on Beep, answered.
Straight answers. Anything missing, ask us directly.
Do I need a Dockerfile to deploy Docker?
Yes for this guide: set the build to Dockerfile and give its path, or deploy a prebuilt image by tag.
Where does the Docker app run?
On the server you connected: Beep Cloud, your own cloud account or any Ubuntu or Debian VPS. Beep bills per server, so databases, workers and previews on the same server add nothing to the plan.
Can I SSH into the server?
No, and that’s deliberate: Beep manages each host end to end so manual changes can’t drift from its setup. To debug, open a shell inside any container from the dashboard, next to its logs and metrics.
Where to run it.
Other guides.
Own your infrastructure again.
Plans from $1 a month, billed per server, never per service.
Early access · We’ll set up your workspace
Or talk to us →