### Install drim with --setup and --domain options Source: https://kaneo.app/docs/core/installation/drim Installs drim and runs 'drim setup' after installing, deploying on the specified domain and configuring HTTPS in one command. The --domain option implies --setup. This example uses kaneo.example.com as the domain. ```bash # Install, deploy, and configure HTTPS for a domain in one command curl -fsSL https://assets.kaneo.app/install.sh | sh -s -- --setup --domain=kaneo.example.com ``` -------------------------------- ### Stop stack, install drim, and run setup Source: https://kaneo.app/docs/core/installation/drim-migration Stops the current stack, installs drim, creates a new directory, runs setup with your domain, and stops drim before pointing it at existing volumes. ```bash docker compose down curl -fsSL https://assets.kaneo.app/install.sh | sh mkdir ~/kaneo && cd ~/kaneo drim setup --domain=your-domain.com drim stop ``` -------------------------------- ### Interactive setup with drim setup Source: https://kaneo.app/docs/core/installation/drim Run `drim setup` to start the interactive deployment process. You will be prompted about using the bundled Caddy reverse proxy and for a domain. Leave the domain empty for a local deployment, reachable at `http://localhost`, or `http://localhost:5173` when skipping the reverse proxy. ```bash drim setup ``` -------------------------------- ### Install Kaneo with drim Source: https://kaneo.app/docs/core/index Use this to install Kaneo with drim, the recommended CLI tool for straightforward deployments. The first command downloads and runs the installation script, and the second command runs the setup process. ```bash curl -fsSL https://assets.kaneo.app/install.sh | sh drim setup ``` -------------------------------- ### GET /instance/status Source: https://kaneo.app/docs/api-reference/instance/get-instance-status Retrieves the public instance setup status. This endpoint does not require authentication and returns whether users and an admin exist. ```APIDOC ## GET /instance/status ### Description Public instance setup status. When hasUsers is false the next signup becomes the instance admin. ### Method GET ### Endpoint https://cloud.kaneo.app/api/instance/status ### Parameters None ### Request Example No request body required. ### Response #### Success Response (200) - **hasUsers** (boolean) - Indicates whether any users exist in the instance. - **hasAdmin** (boolean) - Indicates whether an admin has been configured. #### Response Example { "hasUsers": false, "hasAdmin": false } ### Error Handling No error responses are documented for this endpoint. ``` -------------------------------- ### Install @kaneo/mcp interactively Source: https://kaneo.app/docs/core/integrations/mcp Runs the recommended interactive installer for @kaneo/mcp. The installer lets you choose where to register the server configuration: Cursor (user-wide), Cursor (project-level), Claude Desktop, or a custom JSON config path. ```bash npx @kaneo/mcp ``` -------------------------------- ### Show install help Source: https://kaneo.app/docs/core/integrations/mcp Displays help for the kaneo-mcp install command, listing all available targets and flags. ```bash kaneo-mcp install --help ``` -------------------------------- ### Install drim CLI with curl Source: https://kaneo.app/docs/core/installation/drim Installs the drim CLI by downloading and running the official install script. The script detects the platform, downloads the matching binary, and installs it to /usr/local/bin. It supports Linux and macOS on amd64 and arm64, and Windows through WSL. ```bash curl -fsSL https://assets.kaneo.app/install.sh | sh ``` -------------------------------- ### Build and start stdio server from source Source: https://kaneo.app/docs/core/integrations/mcp Builds and starts the Kaneo MCP server when running from source in the monorepo. Run these commands in sequence to compile and launch the server. ```bash pnpm --filter @kaneo/mcp run build pnpm --filter @kaneo/mcp run start ``` -------------------------------- ### GET /github-integration/app-info Source: https://kaneo.app/docs/api-reference/github/get-github-app-info Retrieves the GitHub App information for the current instance, allowing clients to construct an installation link. ```APIDOC ## GET /github-integration/app-info ### Description Get the GitHub App this instance is configured with, so the client can build an install link. ### Method GET ### Endpoint https://cloud.kaneo.app/api/github-integration/app-info ### Parameters None ### Request Example No request body required. ### Response #### Success Response (200) - **appName** (string or null) - The configured GitHub App slug, or null when this instance has no App set up. #### Response Example { "appName": "my-github-app" } #### Error Response (401) Missing or invalid credentials. ``` -------------------------------- ### Example .env values for MinIO Source: https://kaneo.app/docs/core/installation/docker-compose Example .env values for MinIO. Create the bucket before testing uploads, e.g. from the MinIO Console at http://localhost:9001. ```env MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=minioadmin S3_ENDPOINT=http://minio:9000 S3_BUCKET=kaneo-uploads S3_ACCESS_KEY_ID=minioadmin S3_SECRET_ACCESS_KEY=minioadmin S3_REGION=us-east-1 S3_FORCE_PATH_STYLE=true ``` -------------------------------- ### Example redirect URI with KANEO_API_URL Source: https://kaneo.app/docs/core/social-providers/custom-oauth Example redirect URI when KANEO_API_URL is set to https://api.kaneo.example.com. ```text https://api.kaneo.example.com/api/auth/oauth2/callback/custom ``` -------------------------------- ### Install with custom API URL Source: https://kaneo.app/docs/core/integrations/mcp Installs the MCP server for Cursor user-wide, pointing to a self-hosted Kaneo instance by passing the --api-url flag. The URL should be the Kaneo API origin without /api. ```bash kaneo-mcp install --target cursor-user -y --api-url https://kaneo.example.com ``` -------------------------------- ### Non-interactive setup with drim setup flags Source: https://kaneo.app/docs/core/installation/drim Pass configuration flags to skip interactive prompts, useful for scripts or SSH sessions. Use `--domain` to set the domain and `--no-reverse-proxy` to skip the Caddy reverse proxy. Ensure your DNS A record resolves before running setup, as Caddy requests a certificate immediately. ```bash drim setup --domain=kaneo.example.com drim setup --no-reverse-proxy ``` -------------------------------- ### Install @kaneo/mcp explicitly Source: https://kaneo.app/docs/core/integrations/mcp Runs the explicit install command targeting Cursor user-wide with auto-confirmation. Use --help to see all available targets and flags. ```bash kaneo-mcp install --target cursor-user -y ``` -------------------------------- ### Install Nginx Source: https://kaneo.app/docs/core/reverse-proxy/nginx Updates the package list and installs Nginx on a Debian-based system. ```bash sudo apt update sudo apt install nginx ``` -------------------------------- ### Start MCP authorization Source: https://kaneo.app/docs/llms.txt Starts the MCP OAuth authorization flow. ```APIDOC ## [GET] /mcp/oauth/authorize ### Description Begin an MCP OAuth authorization. Redirects the browser to the Kaneo consent page, which then approves or denies the request. ### Method GET ### Endpoint /mcp/oauth/authorize ### Parameters #### Query Parameters - **client_id** (string) - Required - The client ID. - **redirect_uri** (string) - Required - The redirect URI. - **response_type** (string) - Required - The response type (e.g., code). - **code_challenge** (string) - Required - The PKCE code challenge. - **code_challenge_method** (string) - Required - The PKCE code challenge method. - **state** (string) - Required - The state parameter. ### Response #### Success Response (302) Redirects to the consent page. #### Response Example No response example documented. ``` -------------------------------- ### Start services with docker compose up -d Source: https://kaneo.app/docs/core/installation/start-services Use this command to start all Kaneo services in detached mode. After running it, the web application will be available at http://localhost:5173. ```bash docker compose up -d ``` -------------------------------- ### Get Organization Role Source: https://kaneo.app/docs/llms.txt Retrieves the organization role. ```APIDOC ## [GET] /organization/role ### Description Get Organization Role. ### Method GET ### Endpoint /organization/role ### Parameters None documented. ### Response #### Success Response (200) No response schema documented. #### Response Example No response example documented. ``` -------------------------------- ### Get consent request Source: https://kaneo.app/docs/llms.txt Retrieves consent request details. ```APIDOC ## [GET] /mcp/consent ### Description Get the client name and redirect URI for a pending consent request, so the consent page can show who is asking. ### Method GET ### Endpoint /mcp/consent ### Parameters #### Query Parameters - **request_id** (string) - Required - The ID of the consent request. ### Response #### Success Response (200) No response schema documented. #### Response Example No response example documented. ``` -------------------------------- ### Get Organization Full Organization Source: https://kaneo.app/docs/llms.txt Retrieves the full organization details. ```APIDOC ## [GET] /organization/full ### Description Get the full organization. ### Method GET ### Endpoint /organization/full ### Parameters None documented. ### Response #### Success Response (200) No response schema documented. #### Response Example No response example documented. ``` -------------------------------- ### GET /github-integration/repositories/{projectId} Source: https://kaneo.app/docs/api-reference/github/list-github-repositories Lists the GitHub repositories reachable through the installed GitHub App for a given project, allowing users to pick one to link. ```APIDOC ## GET /github-integration/repositories/{projectId} ### Description List the repositories reachable through the installed GitHub App, for picking one to link. ### Method GET ### Endpoint /github-integration/repositories/{projectId} ### Parameters #### Path Parameters - **projectId** (string) - Required - The ID of the project. ### Response #### Success Response (200) - **repositories** (array of GitHubRepository) - Deduplicated across installations, most recently updated first. - **installations** (array of GitHubInstallation) - List of GitHub installations. - **total** (number) - Total count of repositories. #### Response Example { "repositories": [ { "id": 0, "name": "string", "full_name": "string", "private": true, "owner": { "login": "string", "avatar_url": "string", "type": "string" }, "description": "string", "html_url": "string", "permissions": { "admin": true, "push": true, "pull": true }, "updated_at": "2025-01-01T00:00:00Z", "installation_id": 0 } ], "installations": [ { "id": 0, "account": { "login": "string", "type": "string" }, "repositories": ["string"] } ], "total": 0 } #### Error Responses - **400** - Unknown project, or its workspace could not be determined. - **401** - Missing or invalid credentials. - **403** - No workspace access, or missing workspace:manage_settings. ``` -------------------------------- ### GET /github-integration/app-info Source: https://kaneo.app/docs/api-reference/endpoints/github/getGitHubAppInfo Retrieves the GitHub App information for the current Kaneo instance. This endpoint is used to obtain the app name so the client can construct an installation link. ```APIDOC ## GET /github-integration/app-info ### Description Get the GitHub App this instance is configured with, so the client can build an install link. ### Method GET ### Endpoint https://cloud.kaneo.app/api/github-integration/app-info ### Authentication Bearer token (API key or session token) ### Parameters None ### Request Example No request body required. ### Response #### Success Response (200) - **appName** (string|null) - The configured GitHub App slug, or null when this instance has no App set up. #### Response Example { "appName": "my-github-app" } #### Error Response (401) Missing or invalid credentials. ``` -------------------------------- ### GET /mcp/authorize Source: https://kaneo.app/docs/api-reference/mcp/start-mcp-authorization Starts an MCP OAuth authorization flow by redirecting the browser to the Kaneo consent page. Requires OAuth parameters including response_type, client_id, redirect_uri, code_challenge, and code_challenge_method. ```APIDOC ## GET /mcp/authorize ### Description Begin an MCP OAuth authorization. Redirects the browser to the Kaneo consent page, which then approves or denies the request. ### Method GET ### Endpoint /mcp/authorize ### Parameters #### Query Parameters - **response_type** (string) - Required - Must be `code`. - **client_id** (string) - Required - The client identifier. - **redirect_uri** (string) - Required - The redirect URI, max length 2048. - **code_challenge** (string) - Required - PKCE challenge; only S256 is accepted. - **code_challenge_method** (string) - Required - Must be `S256`. - **state** (string) - Optional - An opaque value used to maintain state between the request and callback. ### Response #### Success Response (302) Redirect to the Kaneo consent page. #### Error Response (400) Invalid authorization request. Returns an OAuthError object. #### Response Example (400) { "error": "string", "error_description": "string" } ``` -------------------------------- ### Environment variables for optional Kaneo features Source: https://kaneo.app/docs/core/installation/drim Example environment variables that drim setup writes for Kaneo. Optional features are enabled by adding their variables, such as GitHub OAuth, SMTP email, and Redis pub/sub for multiple API replicas. ```env # GitHub sign-in GITHUB_OAUTH_CLIENT_ID=your_client_id GITHUB_OAUTH_CLIENT_SECRET=your_client_secret # Email SMTP_HOST=smtp.example.com SMTP_PORT=587 SMTP_USER=you@example.com SMTP_PASSWORD=your-password SMTP_FROM=you@example.com # Redis pub/sub, for running more than one API replica REDIS_URL=redis://your-redis-host:6379 ``` -------------------------------- ### Run import with dry-run and credentials Source: https://kaneo.app/docs/core/migrations/from-planka Run the import with your Kaneo credentials and drop --dry-run. If you leave --workspace off, you'll be asked to pick one. ```bash npx @kaneo/planka-import \ --planka-url https://planka.example.com \ --kaneo-url https://cloud.kaneo.app \ --kaneo-api-key kaneo_xxx \ --workspace ws_123 ``` -------------------------------- ### Enable Nginx site configuration Source: https://kaneo.app/docs/core/reverse-proxy/nginx Creates a symbolic link from the sites-available configuration to sites-enabled to activate the Kaneo site. ```bash sudo ln -s /etc/nginx/sites-available/kaneo.conf /etc/nginx/sites-enabled/ ``` -------------------------------- ### Run stdio server directly with npx Source: https://kaneo.app/docs/core/integrations/mcp Starts the Kaneo MCP stdio server directly using npx. Useful for debugging the server without building from source. ```bash npx @kaneo/mcp serve ``` -------------------------------- ### Build drim from source Source: https://kaneo.app/docs/core/installation/drim Builds drim from source. After cloning the repository, run go build to produce the drim binary. The make build-all command cross-compiles for every supported platform. ```bash git clone https://github.com/usekaneo/drim.git cd drim go build -o drim . ``` -------------------------------- ### Discord Webhook URL Example Source: https://kaneo.app/docs/core/integrations/discord Example of a Discord webhook URL format. URLs using discordapp.com are also accepted. ```text https://discord.com/api/webhooks/000000000000000000/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ```