The open source Loom alternative.
Cap.so »
Downloads for
macOS & Windows
Cap is the open source alternative to Loom. It's a video messaging tool that allows you to record, edit and share videos in seconds.
git clone https://github.com/CapSoftware/Cap.git && cd Cap && docker compose up -dCap will be running at http://localhost:3000. That's it!
Note: Login links appear in the logs (
docker compose logs cap-web) since email isn't configured by default.
| Method | Best For |
|---|---|
| Docker Compose | VPS, home servers, any Docker host |
| Railway | One-click managed hosting |
| Coolify | Self-hosted PaaS (use docker-compose.coolify.yml) |
For production, create a .env file:
CAP_URL=https://cap.yourdomain.com
S3_PUBLIC_URL=https://s3.yourdomain.comSee our self-hosting docs for full configuration options including email setup, AI features, and SSL.
Cap Desktop can connect to your self-hosted instance via Settings → Cap Server URL.
We use a combination of Rust, React (Next.js), TypeScript, Tauri, Drizzle (ORM), MySQL, TailwindCSS throughout this Turborepo powered monorepo.
A note about database: The codebase is currently designed to work with MySQL only. MariaDB or other compatible databases might partially work but are not officially supported.
desktop: A Tauri (Rust) app, using SolidStart on the frontend.web: A Next.js web app.
ui: A React Shared component library.utils: A React Shared utility library.tsconfig: Sharedtsconfigconfigurations used throughout the monorepo.database: A React and Drizzle ORM Shared database library.config:eslintconfigurations (includeseslint-config-next,eslint-config-prettierother configs used throughout the monorepo).
Portions of this software are licensed as follows:
- All code residing in the
cap-camera*andscap-*families of crates is licensed under the MIT License (see licenses/LICENSE-MIT). - All third party components are licensed under the original license provided by the owner of the applicable component
- All other content not mentioned above is available under the AGPLv3 license as defined in LICENSE
See CONTRIBUTING.md for more information. This guide is a work in progress, and is updated regularly as the app matures.
Cap uses Tinybird to ingest viewer telemetry for dashboards. The Tinybird admin token (TINYBIRD_ADMIN_TOKEN or TINYBIRD_TOKEN) must be available in your environment. Once the token is present you can:
- Provision the required data sources and materialized views via
pnpm analytics:setup. This command installs the Tinybird CLI (if needed), runstb loginwhen a.tinybcredential file is missing, copies that credential intoscripts/analytics/tinybird, and finally executestb deploy --allow-destructive-operations --waitfrom that directory. It synchronizes the Tinybird workspace to the resources defined inscripts/analytics/tinybird, removing any other datasources/pipes in that workspace. - Validate that the schema and materialized views match what the app expects via
pnpm analytics:check.
Both commands target the workspace pointed to by TINYBIRD_HOST (defaults to https://api.tinybird.co). Make sure you are comfortable with the destructive nature of the deploy step before running analytics:setup.
