Skip to content
Shipping

Databases & cache

MongoDB, Redis, R2 — first-class services you don't operate. Add one in a sentence, Loor provisions, monitors, and backs it up.

What ships today

ServiceVersionsUse it for
MongoDB6 · 7Primary document store · users, sessions, app data.
Redis7Cache, queues, pub/sub.
R2 (object storage)Files, uploads, backups. See Storage.
EmailMagic links, notifications, transactional. Wired via Brevo / Resend.

Each service is a first-class entry in loor.json.

Adding a service

The fastest way: ask Vibe Chat — "I need MongoDB for users and sessions". The chat edits loor.json, adds a service block, and updates your code to use the injected env var.

You can also click + Service in the project sidebar.

Connecting from code

Loor injects a connection-string env var into the services that depend on the new service. The name is set by exposeAs in loor.json (default: derived from the service name).

// MongoDB
const client = new MongoClient(process.env.MONGODB_URL);
const db = client.db();

// Redis
const cache = new Redis(process.env.REDIS_URL);

// R2
const r2 = new S3Client({ endpoint: process.env.R2_UPLOADS_URL });

Backups

Pro and Team tiers ship with daily encrypted snapshots, retained for 7 days (configurable). Hobby is best-effort. You can trigger an on-demand snapshot from the service panel, and restore from a snapshot into the same project or a new one.