Menu

Installation

Run the standalone Oxidt CI foundation

Prerequisites

Use Rust 1.99.0, Bun 1.3.5, SQLx CLI 0.8.6 and Topcoat CLI 0.11.0. Run every command below from the workspace root.

sh
just bootstrap
just init
just install
just migrate
just build
just serve

just bootstrap creates a fresh .env from the example and generates a session secret. just init creates the app-specific oxidt_ci role and database on shared PostgreSQL at localhost:5432. It never starts containers.

Use the shared Mailpit SMTP server at localhost:1025; read local sign-in codes at http://localhost:8025. The application listens at http://localhost:8080.

Public registration is closed. The first account bootstraps the application; subsequent users need an invitation or a configured registration allowlist.

Build and verify

sh
just css
just test
just http-test
just release

The application is in crates/oxidt-app; pure domain logic lives in crates/oxidt-core. Topcoat renders HTML on the server without a WASM client. Production assets are bundled beside the executable. Build the root Dockerfile with docker build -t oxidt-ci ..

Database changes

Migrations are embedded and applied at startup. They can also be applied with just migrate. SQLx offline metadata lives in crates/oxidt-app/.sqlx. After changing SQL, apply migrations and run just prepare.