Skip to content
Back to Deployment

Deploying with Koyeb

Serverless platform with git-push deploys, Docker, and global edge with free tier.

PlatformsBeginner

Why

Koyeb offers git-push and Docker deploys with auto HTTPS, global edge, and a free tier. It runs on bare metal for performance and supports auto-restart on crash.

Platform-as-a-Service adoption grew 24% in 2024 as teams shift from VM management to git-push deploys. the cloud infrastructure market reached $330B in 2024, growing 22% year-over-year (Synergy Research), and PaaS layers capture the majority of new workloads.

When

Use Koyeb for free-tier hobby projects and Docker deploys with global edge. Avoid for enterprise — newer platform with fewer features.

How

1. Create — koyeb.com → Create Service → GitHub or Docker 2. Build — auto-detects or specify Dockerfile 3. Env — set environment variables in service config 4. Region — choose closest region or global edge 5. Domain — auto HTTPS, or custom domain 6. Scale — set instance count 7. Logs — koyeb service logs

Example

# koyeb.yaml — service config services: - name: myapp type: web image: myapp:latest regions: [fra, sfo, singapore] env: - key: DATABASE_URL value: postgres://... routes: - path: / port: 3000 scale: min: 1 max: 5 # Deploy via CLI koyeb service create myapp --docker-image myapp:latest --port 3000

Common Problems

  • ⚠Free tier limited — 1 service, 512MB RAM, may not fit production
  • ⚠Fewer regions than Fly/Cloudflare — check if your region is supported
  • ⚠Configuration drift between environments — use infrastructure-as-code (Terraform/Pulumi) to keep dev/staging/prod identical

Best Practices

  • ✓Use Docker for reproducible builds — same image in dev and prod
  • ✓Set health check path — Koyeb restarts unhealthy services
  • ✓Set up health checks and graceful shutdown — handle SIGTERM to drain in-flight requests before exit

FAQ