Store application config in a central UI instead of scattered env files. Version it, diff it, roll it back. The config management layer your apps have always needed.
An agency managing configs for multiple clients runs one Cartridge instance per client on isolated VMs. Each instance gets its own data directory. There is no shared database, no multi-tenant risk, no worry about one client's data appearing in another client's export.
Teams outgrow spreadsheet-based configs tracking around the same time they realize SaaS alternatives want $15 to $50 per seat per month. Cartridge is a single binary that handles the same job without the recurring bill or the vendor dependency.
GET /api/configs — List all configs. Supports ?q=keyword for search and ?status=value for filteringPOST /api/configs — Create a new config. Send JSON with at least keyGET /api/configs/{id} — Fetch one config by IDPUT /api/configs/{id} — Update fields on an existing configDELETE /api/configs/{id} — Remove a configGET /api/stats — Returns total count and breakdown by statusGET /api/health — Returns {"status":"ok"} for uptime monitoringEach config record carries fields for key, value, environment, version, status. The API accepts partial updates, so you can PATCH individual fields without resubmitting the entire record. Listing endpoints support ?q= for keyword search and ?status= for filtering through the lifecycle. Backups are a file copy of the SQLite database in the data directory.
Self-hosted config and settings manager. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool cartridge
PORT=9280 ./cartridge
http://localhost:9280
Single binary. Embedded SQLite. No Docker. No database. No dependencies.
Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.
export CARTRIDGE_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./cartridge
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.