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.
npm install
npm run devOpen http://localhost:3042. The development server runs on port 3069. Configure sync in Settings → Sync server.
npm test
npm run build:servernpm 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 --buildThe 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.
| 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 |