Skip to main content

Documentation Index

Fetch the complete documentation index at: https://iii.dev/docs/llms.txt

Use this file to discover all available pages before exploring further.

This page covers running the iii engine and its workers in a production environment. For local development, see the Quickstart and the Engine page.

iii Cloud deployments

The iii cloud subcommand group will manage hosted iii deployments. See CLI for the command surface as it stabilizes.
iii’s cloud will be available soon.

Deploy with Docker

Generate the Docker assets with the CLI and bring them up with Compose. Use iii project init --docker for a fresh project, or iii project generate-docker to add Docker assets to an existing one:
iii project generate-docker
Both forms emit three files at the project root: Dockerfile, docker-compose.yml, and .env. Re-running the generator does not overwrite existing files, so edits you make to the templates stick. Start the stack:
docker compose up -d
The generated docker-compose.yml exposes:
PortService
49134SDK WebSocket (worker connections)
3111REST API
3112Stream API
9464Prometheus metrics
The Dockerfile builds against iiidev/iii:latest (distroless, non-root). The compose file ships commented-out Redis and RabbitMQ services that can be uncommented when workers need external adapters.

Configure a reverse proxy

The engine does not terminate TLS. Place a reverse proxy in front of it to handle TLS and route the three transport surfaces (/api/*, /stream/*, /ws) to the right ports.

Caddy

your-domain.com {
    handle /api/* {
        reverse_proxy 127.0.0.1:3111
    }
    handle /stream/* {
        reverse_proxy 127.0.0.1:3112
    }
    handle /ws {
        reverse_proxy 127.0.0.1:49134
    }
    handle {
        reverse_proxy 127.0.0.1:3111
    }
}
This is only an example configuration. Refer to the Caddy documentation for full configuration.

Nginx

server {
    listen 443 ssl;
    server_name your-domain.com;

    location /api/ {
        proxy_pass http://127.0.0.1:3111;
    }

    location /ws {
        proxy_pass http://127.0.0.1:49134;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    location /stream/ {
        proxy_pass http://127.0.0.1:3112;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    location / {
        proxy_pass http://127.0.0.1:3111;
    }
}
This is only an example configuration. See the Nginx documentation for the full configuration such as SSL, header, and proxy options.