Skip to content

Repository files navigation

Carbon

Task management with projects, notes, recurring tasks, time tracking and offline storage. Use Carbon locally, connect to a hosted workspace, or run your own sync server.

Development

npm install
npm run dev

Open http://localhost:3042. The development server runs on port 3069. Configure sync in Settings → Sync server.

npm test
npm run build:server

Self-hosting

npm run add-user -w @carbon/server -- username 'your-password'

Save the generated user entry as AUTH_USERS in .env, then start the server:

docker compose up -d --build

The container serves the app and API on port 3069 and stores data in ./data. The data directory must be writable by the container user (UID 1000 by default). Use HTTPS for remote access. Sync accounts require two-factor authentication; configure SMTP_* for email codes or use an authenticator app.

See server configuration and backup and restore.

Code layout

Path Contents
packages/core Data model, SQLite schema, migrations and field-level CRDT sync
apps/web React PWA with local SQLite storage persisted to IndexedDB
apps/server Sync server, REST API and integrations; serves the web build
apps/desktop Tauri desktop app
apps/mobile Capacitor Android app

Documentation

About

A complete blend of Todo, GTD, Project management and Time Tracking. Local first, with powerful sharing and APIs on a self hostable sync server.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages