ch-rds
ch-rds resolves runtime resources and starts conventional local services when
an application uses loopback endpoints.
More information is available in the API documentation.
High-level features
- Typed loaders for web listeners, MariaDB, and SpacetimeDB
- Explicit production behavior with no local fallback
- Conventional
.env,.env.local, andservices.envdiscovery - Protocol-verified local Docker Compose startup for loopback resources
- Optional frontend/backend development process orchestration
Usage
async
Runtime resolves configured remote endpoints directly. Production mode
rejects local fallbacks. ENV_FILE selects one explicit dotenv file, while
PORT overrides only the port of the fallback listener address.
Conventional layouts auto-discover MariaDB and
crates/database/spacetimedb; builders cover custom stacks. Protocol-level
readiness permits one locked service restart, while SpacetimeDB updates publish
in place to preserve data and identity.
Development runner
The dev feature provides ProjectProfile and run_project. Vite owns frontend
hot-module replacement; Watchexec restarts the backend when Rust sources,
manifests, lockfiles, Cargo configuration, or SQL migrations change.
cargo install watchexec-cli --version 2.5.1 --locked
Feature flags
| Feature | Provides |
|---|---|
dev |
Frontend/backend process orchestration and project profiles |
btcpay |
Local BTCPay setup in addition to dev |
Minimum supported Rust version
ch-rds requires Rust 1.96 or newer.
License
Licensed under the Sustainable Use License 1.0. See
LICENSE.md.