Prerequisites

  • Docker with Docker Compose v2
  • roji installed and running (see Installation)

Verify Setup

roji doctor

All checks should pass. If not, run sudo roji doctor --fix to auto-repair.

Add roji to an Existing Project

Add the roji network to your existing docker-compose.yml:

services:
  myapp:
    image: your-app
    expose:
      - "3000"
    networks:
      - roji      # Add this

networks:
  roji:           # Add this
    external: true

Start your project:

docker compose up -d

Open https://myapp.dev.localhost — that’s it!

Explore the Dashboard

Open https://roji.dev.localhost to see the live dashboard with:

  • All registered routes
  • Real-time request logs
  • Docker Compose project controls (start/stop/restart)
  • Project history with quick-start buttons

The dashboard automatically updates without page refresh via Server-Sent Events.

Common Patterns

Custom hostname:

labels:
  - "roji.host=myapp.dev.localhost"

Path-based routing (multiple services on one host):

labels:
  - "roji.host=myapp.dev.localhost"
  - "roji.path=/api"

Specific port (when multiple ports are exposed):

labels:
  - "roji.port=3000"

Multiple projects — just connect each to the roji network. Each service gets its own *.dev.localhost subdomain automatically.

Next Steps