Skip to content

Install ​

Install Rundial on a host running Docker and Docker Compose.

1. Start the stack ​

Install Docker with the docker compose plugin or docker-compose, and make curl available.

bash
git clone https://github.com/rundial-dev/rundial
cd rundial
bash scripts/setup/open_core_up.sh

Choose the default authentication mode and public S3 URL for a local install. After the services start, enter an admin email and password, then a workspace and project name and slug. The first build can take several minutes. The script prints the web and API URLs when setup finishes. Open the printed web app URL and sign in with your admin credentials.

Keep .env; restarts and upgrades read it.

For unattended setup, provide --auth-mode better_auth, --admin-email, and --admin-password-stdin; pipe the password from a protected source. The script uses RUNDIAL_ENV_FILE instead of .env when set.

OptionPurpose
--auth-mode <mode>Select better_auth, workos, dev or disabled.
--admin-email <email>Set the initial admin email.
--admin-password-stdinRead the initial admin password from standard input.
--web-port <port>Select the web port.
--storage-public-endpoint <url>Set the storage URL reachable by browsers and SDK clients.
--workspace-name <name>, --workspace-slug <slug>Set the initial workspace name and slug.
--project-name <name>, --project-slug <slug>Set the initial project name and slug.
-h, --helpShow options.

The services bind to loopback by default. Setup can select another web port if the default is occupied.

ServiceDefault host port
Web app5173
API8787
Convex backend / site proxy3210 / 3211
Convex dashboard6791
ClickHouse HTTP / native8123 / 9000
Storage API / console9002 / 9003
MCP (optional)8797

2. Configure remote access ​

Put a TLS reverse proxy in front of the web app, API and, when clients use artifacts, the public storage endpoint. Keep backend services on loopback. Set these values in .env for your deployment. Origins include scheme and host, and port when applicable.

VariablePurpose / example default
RUNDIAL_API_BASE_URLPublic API origin used by the web app; for example https://api.rundial.example.com.
API_CORS_ALLOWED_ORIGINSComma-separated web origins; for example https://rundial.example.com.
AUTH_BETTER_AUTH_BASE_URLPublic API origin for authentication; for example https://api.rundial.example.com.
AUTH_BETTER_AUTH_TRUSTED_ORIGINSComma-separated trusted web origins; for example https://rundial.example.com.
OBJECT_STORAGE_PUBLIC_ENDPOINTPublic S3 origin used in signed artifact URLs; for example https://artifacts.example.com.
RUNDIAL_BIND_HOST, RUNDIAL_STORAGE_BIND_HOSTBind addresses for web/API and storage; default 127.0.0.1.
WEB_PORT, API_PORT, MINIO_API_PORTHost ports; defaults 5173, 8787, 9002.
AUTH_MODEAuthentication provider; use better_auth for local credentials.
AUTH_API_KEY_PEPPER, AUTH_BETTER_AUTH_SECRET, CONVEX_ADMIN_KEYDeployment secrets; retain them across restarts and upgrades.
CLICKHOUSE_PASSWORD, MINIO_ROOT_PASSWORDStorage credentials; retain them across upgrades.
OBJECT_STORAGE_BUCKET, OBJECT_STORAGE_REGIONArtifact bucket and region; defaults rundial-artifacts and us-east-1.

Restart Rundial after changing .env:

bash
bash scripts/setup/open_core_down.sh
bash scripts/setup/open_core_up.sh

Release bundles ​

For release bundle downloads and the smoke test, see the release verification procedure. To install Rundial, use the source checkout above.

Next steps ​