Skip to content
Why pay for a free tier that sleeps?Free always-on tier — never sleeps
Docs/Docker Compose

Docker Compose

Deploy a whole multi-service stack from the compose file you already have.

Runko reads your docker-compose.yml and provisions each service as its own scalable workload, with private networking and startup ordering handled automatically.

Deploy a stack

bash
# from a repo containing docker-compose.yml
runko deploy

A supported compose file

yaml
services:
  web:
    build: ./web
    ports: ["3000:3000"]
    depends_on: [api]
  api:
    build: ./api
    environment:
      DATABASE_URL: ${DATABASE_URL}
  worker:
    build: ./worker
    command: celery -A app worker
  redis:
    image: redis:7

How keys are mapped

  • build: builds with your Dockerfile from your Dockerfile.
  • image: pulls and runs the image as a managed workload.
  • ports: exposes the service publicly with free TLS.
  • depends_on: enforces startup ordering with health gates.
  • environment: injected as env vars; mark sensitive values as secrets.
  • volumes: backed by persistent disks.

Only services with a ports: mapping are exposed publicly. Everything else stays on your private network and is reachable by service name.