Kaneo: Streamlined Project Management for Focused Teams

Project Management

Kaneo offers open-source, self-hosted project management with a clean interface, focusing on efficiency and productivity by eliminating unnecessary complexity.

Quick Start | Website | Cloud (free) | Discord

Kaneo: All You Need, Nothing You Don't

Project management that empowers you to focus on innovation and building exceptional products, without unnecessary distractions.

Why Choose Kaneo?

After years of grappling with bloated, overly complex project management platforms that diverted attention from actual work, we developed Kaneo with a fundamentally different approach.

The core issue with most tools isn't a lack of features; it's the sheer abundance of them. Every extraneous notification, every superfluous button, and every convoluted workflow pulls your team away from their primary objective: creating outstanding products.

We firmly believe that the most effective tools are invisible. They should seamlessly augment your team's natural workflow, rather than forcing adaptation to a rigid system. Kaneo is built on the principle that less is more—each feature is meticulously designed to solve a genuine problem, not merely to impress in a demonstration.

What Sets Kaneo Apart:

  • Clean Interface: Designed to keep your focus on your work, not the tool itself.
  • Self-Hosted: Ensures complete control and ownership of your data.
  • Blazing Fast: Engineered for performance, because speed matters.
  • Open Source & Free: Forever accessible and transparent.

Explore Kaneo's full range of features and capabilities in our comprehensive documentation.

Getting Started

Quick Start with Docker Compose

The quickest way to experience Kaneo is by using Docker Compose. This setup will provision the API, web interface, and a PostgreSQL database:

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
  api:
    image: ghcr.io/usekaneo/api:latest
    ports:
      - "1337:1337"
    env_file:
      - .env
    depends_on:
      postgres:
        condition: service_healthy
    restart: unless-stopped
  web:
    image: ghcr.io/usekaneo/web:latest
    ports:
      - "5173:5173"
    env_file:
      - .env
    depends_on:
      - api
    restart: unless-stopped
volumes:
  postgres_data:

Save the above content as compose.yml, create a .env file with your specific configuration (refer to Configuration Options below), then execute docker compose up -d, and finally open http://localhost:5173 in your browser.

Important: For detailed setup instructions, comprehensive environment variable configuration, and troubleshooting guides, please consult our full documentation.

Development Setup

For development environments, please refer to our Environment Setup Guide for in-depth instructions on configuring environment variables and resolving common issues such as CORS problems.

Configuration Options

The following essential environment variables are required in your .env file:

VariableDescriptionDefault
KANEO_API_URLThe API endpoint for the web applicationRequired
JWT_ACCESSSecret key for user authenticationRequired
DATABASE_URLPostgreSQL connection stringRequired
POSTGRES_DBPostgreSQL database namekaneo
POSTGRES_USERPostgreSQL usernameRequired
POSTGRES_PASSWORDPostgreSQL passwordRequired
DISABLE_REGISTRATIONBlocks new user sign-upstrue

For a complete list of configuration options and advanced settings, please see the full documentation.

Database Setup

Kaneo utilizes PostgreSQL for data storage. While the Docker Compose setup automates this, if you're deploying Kaneo outside of Docker or using an external PostgreSQL database, you'll need to:

  1. Install PostgreSQL (version 12 or higher).

  2. Create a database and user:

    CREATE DATABASE kaneo;
    CREATE USER kaneo_user WITH PASSWORD 'your_password';
    GRANT ALL PRIVILEGES ON DATABASE kaneo TO kaneo_user;
    
    \c kaneo;
    GRANT USAGE ON SCHEMA public TO kaneo_user;
    GRANT CREATE ON SCHEMA public TO kaneo_user;
    ALTER SCHEMA public OWNER TO kaneo_user;
    
  3. Set the DATABASE_URL environment variable:

    export DATABASE_URL="postgresql://kaneo_user:your_password@localhost:5432/kaneo"
    

For additional database configuration options and troubleshooting, refer to the documentation.

Kubernetes Deployment

For Kubernetes deployments, we provide a comprehensive Helm chart. Please consult the Helm chart documentation for detailed installation instructions, production configuration examples, TLS setup, and more.

Development

Interested in contributing to Kaneo? Refer to our Environment Setup Guide for detailed instructions on configuring environment variables and resolving common issues like CORS problems.

Quick Start for Development:

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

# Copy environment files
cp apps/api/.env.sample apps/api/.env
cp apps/web/.env.sample apps/web/.env

# Update environment variables as needed
# See ENVIRONMENT_SETUP.md for detailed instructions

# Start development servers
pnpm dev

For contributing guidelines, code structure, and development best practices, please review our contributing guide and documentation.

Community

  • Discord - Engage with users and contributors.
  • GitHub Issues - Report bugs and submit feature requests.
  • Documentation - Access detailed guides, API specifications, and tutorials.

Contributing

We warmly welcome contributions of all kinds, including:

  • Reporting bugs or suggesting new features.
  • Enhancing our documentation.
  • Contributing code.
  • Assisting other users on Discord.

Refer to CONTRIBUTING.md in the repository for detailed guidance on how to get involved.

License

Kaneo is released under the MIT License - see the LICENSE file for full details.

Built with ❤️ by the Kaneo team and contributors.