MCPcopy
hub / github.com/usekaneo/kaneo

github.com/usekaneo/kaneo @v2.9.0 sqlite

repository ↗ · DeepWiki ↗ · release v2.9.0 ↗
2,150 symbols 6,896 edges 918 files 6 documented · 0%
README

Kaneo's logo

license GitHub Workflow Status Discord Sponsors

Quick Start | Website | Cloud | Discord

Kaneo Dashboard

Why Kaneo?

After years of using bloated, overcomplicated project management platforms that distracted from actual work, we built Kaneo to be different.

The problem with most tools isn't that they lack features—it's that they have too many. Every notification, every unnecessary button, every complex workflow pulls your team away from what matters: building great products.

We believe the best tools are invisible. They should amplify your team's natural workflow, not force you to adapt to theirs. Kaneo is built on the principle that less is more—every feature exists because it solves a real problem, not because it looks impressive in a demo.

What makes it different: - Clean interface that focuses on your work, not the tool - Self-hosted so your data stays yours - Actually fast because we care about performance - Open source with a permissive MIT license

Learn more about Kaneo's features and capabilities in our documentation.

Sponsors

Kaneo is open source. If you find it useful, consider sponsoring the project to help support ongoing development.

Getting Started

One-Click Deployment with drim

For straightforward deployments, use drim - a CLI tool that handles everything for you:

curl -fsSL https://assets.kaneo.app/install.sh | sh
drim setup

That's it. Your Kaneo instance will be running with automatic HTTPS, database setup, and all services configured.

Perfect for quick deployments and production setups where you want things to just work.

Quick Start with Docker Compose

The fastest way to try Kaneo is with Docker Compose. This sets up Kaneo and PostgreSQL with a single Kaneo container:

services:
  postgres:
    image: postgres:16-alpine
    env_file:
      - .env
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U kaneo -d kaneo"]
      interval: 10s
      timeout: 5s
      retries: 5

  kaneo:
    image: ghcr.io/usekaneo/kaneo:latest
    ports:
      - "5173:5173"
    env_file:
      - .env
    depends_on:
      postgres:
        condition: service_healthy
    restart: unless-stopped

volumes:
  postgres_data:

Save this as compose.yml, copy .env.sample to .env, uncomment KANEO_CLIENT_URL=http://localhost:5173, and set POSTGRES_PASSWORD=<password> and AUTH_SECRET=<output of openssl rand -hex 32>, run docker compose up -d, and open http://localhost:5173.

In Docker Compose, the bundled Kaneo container reaches PostgreSQL at the service hostname postgres. If you run the API on your host instead of inside Compose, use localhost or set DATABASE_URL explicitly.

Important: See our full documentation for detailed setup instructions, environment variable configuration, and troubleshooting guides.

Development Setup

For development, see our Environment Setup Guide for detailed instructions on configuring environment variables and troubleshooting common issues like CORS problems.

Configuration

Kaneo requires several environment variables to be configured. The Docker Compose setup above handles the database automatically, but you'll need to configure environment variables for the API and web services.

For complete configuration instructions, including all required environment variables, database setup for non-Docker deployments, and advanced settings, see the documentation. Advanced deployments can still use the separate ghcr.io/usekaneo/api and ghcr.io/usekaneo/web images.

Kubernetes Deployment

If you're running Kubernetes, we provide a comprehensive Helm chart. Check out the Helm chart documentation for detailed installation instructions, production configuration examples, TLS setup, and more.

Development

Want to hack on Kaneo? See our Environment Setup Guide for detailed instructions on configuring environment variables and troubleshooting common issues like CORS problems.

Quick start:

# Clone and install dependencies
git clone https://github.com/usekaneo/kaneo.git
cd kaneo
pnpm install

# Create a .env file in the root with required environment variables
# See ENVIRONMENT_SETUP.md for detailed instructions

# Start development servers
pnpm dev

For contributing guidelines, code structure, and development best practices, check out our contributing guide and documentation.

Community

Contributing

We're always looking for help, whether that's: - Reporting bugs or suggesting features - Improving documentation - Contributing code - Helping other users on Discord

Check out CONTRIBUTING.md for the details on how to get involved.

License

MIT License - see LICENSE for details.


Repobeats analytics image

Built with ❤️ by the Kaneo team and contributors

Extension points exported contracts — how you extend this code

AssetCleanupScope (Interface)
(no doc)
apps/api/src/storage/cleanup-assets.ts
ButtonProps (Interface)
(no doc)
apps/site/components/ui/button.tsx
CookieStoreCookie (Interface)
(no doc)
apps/web/src/vite-env.d.ts
ToastProviderProps (Interface)
(no doc)
apps/site/components/ui/toast.tsx
CookieStore (Interface)
(no doc)
apps/web/src/vite-env.d.ts
SelectButtonProps (Interface)
(no doc)
apps/site/components/ui/select.tsx
FileRoutesByFullPath (Interface)
(no doc)
apps/web/src/routeTree.gen.ts
BadgeProps (Interface)
(no doc)
apps/site/components/ui/badge.tsx

Core symbols most depended-on inside this repo

cn
called by 363
apps/web/src/lib/cn.ts
json
called by 292
apps/api/src/mcp/tools.ts
cn
called by 254
apps/site/lib/utils.ts
get
called by 197
apps/web/src/vite-env.d.ts
log
called by 153
packages/mcp/src/auth/auth-service.ts
set
called by 126
apps/web/src/vite-env.d.ts
delete
called by 69
apps/web/src/vite-env.d.ts
createApp
called by 61
apps/api/src/index.ts

Shape

Function 2,074
Interface 35
Method 27
Class 14

Languages

TypeScript100%

Modules by API surface

apps/web/src/components/ui/sidebar.tsx26 symbols
apps/site/components/ui/sidebar.tsx25 symbols
apps/api/src/utils/openapi-spec.ts22 symbols
apps/api/src/plugins/gitea/utils/gitea-api.ts22 symbols
apps/web/src/components/ui/combobox.tsx19 symbols
apps/site/components/ui/combobox.tsx19 symbols
apps/api/src/storage/s3.ts19 symbols
apps/web/src/routeTree.gen.ts16 symbols
apps/web/src/components/ui/command.tsx16 symbols
apps/web/src/components/board/board-toolbar.tsx16 symbols
apps/site/components/ui/command.tsx16 symbols
apps/site/components/project-board-toolbar.tsx16 symbols

Dependencies from manifests, versioned

@aws-sdk/client-s33.1009.0 · 1×
@aws-sdk/s3-request-presigner3.1041.0 · 1×
@base-ui/react1.2.0 · 1×
@better-auth/api-key1.6.11 · 1×
@better-auth/drizzle-adapter1.6.11 · 1×
@biomejs/biome2.4.8 · 1×
@commitlint/cli19.6.1 · 1×
@commitlint/config-conventional19.6.0 · 1×
@dnd-kit/core6.3.1 · 1×
@dnd-kit/modifiers9.0.0 · 1×
@dnd-kit/sortable10.0.0 · 1×
@dnd-kit/utilities3.2.2 · 1×

Datastores touched

kaneoDatabase · 1 repos
appdbDatabase · 1 repos
dbDatabase · 1 repos
kaneo_devDatabase · 1 repos
kaneo_testDatabase · 1 repos

For agents

$ claude mcp add kaneo \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact