# Docs - **Start here** - [What is mybase](/docs): Self-hosted backend: one Postgres database + S3 bucket per project, plus optional cron, queues, cache, rate limits, analytics. - [Quickstart](/docs/quickstart): Install the mybase CLI, sign in, create a project, and connect an app to its database and storage. - [Projects, keys, and permissions](/docs/concepts): How projects are isolated, how API keys and their permissions work, and which permission each action needs. - [Using mybase with AI agents](/docs/agents): Connect coding agents (Claude Code, Cursor, VS Code, …) via MCP, llms.txt, the --json CLI, and `mybase agent init`. - **Services** - [Database (Postgres)](/docs/database): Connect to a project's Postgres over TCP (LAN or, with a port forward, the internet) or WebSocket (Neon driver), browse tables, run SQL, and enable extensions. - [Storage (S3)](/docs/storage): Use a project's S3 bucket with any S3 client; serve public files from the public/ prefix. - [Cron](/docs/cron): Schedule signed HTTP calls to your app (5-field cron), define jobs in code, and schedule one-off tasks. - [Queues](/docs/queues): SQS-style standard and FIFO queues with visibility timeouts, long polling, batches, and dead-letter queues. - [Cache](/docs/cache): A Redis-compatible keyspace per project, over TCP with any Redis client or over HTTP with an API key. - [Rate limits](/docs/rate-limits): Shared rate limits (sliding window, fixed window, token bucket) that every instance of your app checks. - [Analytics](/docs/analytics): Cookieless page views, custom events, and errors from your app, with a script tag or the SDK. - [Sandboxes](/docs/sandboxes): Temporary isolated Node.js + Chromium workspaces for untrusted code, browser automation, file processing, and AI agents. - [Sandbox dashboard and run history](/docs/sandbox-dashboard): Monitor sandbox lifecycles, inspect execution output, transfer files, and download retained artifacts. - [Web search](/docs/web-search): Web search and page reading for your app's AI agents, through a self-hosted SearXNG. No search API to pay for. - [Secrets](/docs/secrets): Env vars and secrets per environment (dev, staging, prod, branches), stored encrypted. Start apps with mybase run; read at runtime with the SDK. - [Vector search](/docs/vector): Vector, full-text, and hybrid search over your app's documents, on pgvector and Postgres full-text search in the project's own database. - [Users](/docs/users): Sign-in for your app's users with Better Auth, backed by the project's database, cache, and audit log. - [Captcha](/docs/captcha): Self-hosted proof-of-work bot checks for your forms, with no puzzles, cookies, or third party. - [Realtime](/docs/realtime): WebSocket channels for live updates, chat, and presence, for apps on hosts that can't hold sockets. - [Container registry](/docs/registry): A private Docker/OCI image registry per project. docker login with an API key, then push and pull //. - [Hosting](/docs/hosting): Run your sites (Next.js, static, any Docker image) as containers on your mybase server, at . or your own custom domains. - **SDK** - [Sandbox client](/docs/sdk/sandboxes): Run untrusted code, automate Chromium, process files, and export private artifacts. - [Analytics](/docs/sdk/analytics): Count page views and visitors, see which routes, referrers, countries, and browsers they come from, and collect errors and custom events from your apps. - [Analytics API](/docs/sdk/analytics-api): Send events from any language, or read a project's analytics from scripts. - [Better Auth](/docs/sdk/better-auth): Sign your app's users in with Better Auth, backed by mybase. - [Cache](/docs/sdk/cache): A project's cache is a Redis-compatible key-value store (Valkey), kept in memory. - [Captcha](/docs/sdk/captcha): Check forms for bots with mybase's self-hosted, proof-of-work captcha. - [Handling cron calls](/docs/sdk/cron-handler): Create a server-side endpoint and pass incoming Fetch API `Request` objects to `cronHandler`. - [Getting started](/docs/sdk/getting-started): `@mybase-dev/sdk` helps your app send analytics, receive signed cron calls, schedule one-off tasks, use its cache, check rate limits, and send and receive queue messages through mybase. - [Define jobs in code](/docs/sdk/jobs-in-code): Use `defineConfig` to declare schedules in `mybase.config.ts` at your app root. - [One-off tasks](/docs/sdk/one-off-tasks): Schedule a single call to your app from its server-side code with `createCronClient`. - [Queues](/docs/sdk/queues): Hand work off to background workers. - [Rate limits](/docs/sdk/rate-limits): Limit how often a user, IP, or API key can do something. - [Realtime](/docs/sdk/realtime): Live updates, chat, and presence over WebSockets, for apps on hosts that can't hold sockets (Vercel, Netlify, …). - [Web search](/docs/sdk/search): Give your app's AI agent web search and page reading, without paying a search API. - [Secrets](/docs/sdk/secrets): Read your app's env vars and secrets from mybase at runtime. - [Signatures and verification](/docs/sdk/signatures): mybase signs every cron call. - [Vector search](/docs/sdk/vector): Search your app's documents by meaning, by keywords, or both at once. - **Reference** - [CLI reference](/docs/cli): Every mybase CLI command and flag, generated from the CLI itself. Global flags --json and --yes, exit codes. - [Self-hosting](/docs/self-hosting): Install mybase with `mybase server setup` (keys, LAN/Tailscale, Cloudflare Tunnel, start on boot), configure env, update, and back up. - [Troubleshooting](/docs/troubleshooting): Common error messages from the CLI, API, and SDK, and what fixes them. - [Security](/docs/security): The security advisor, the audit log, alerts, and what mybase does to keep the dashboard and your projects apart. - [Hosting on AWS, GCP, and Azure](/docs/cloud): Run mybase on one cloud VM (EC2, Compute Engine, Azure VM): sizing, firewall, Cloudflare Tunnel or Tailscale, disks, snapshots. - [Security best practices](/docs/security-best-practices): How to install and run mybase safely, at home or on a cloud server, and what to watch for in each service.