How to Install Kaneo on macOS: Complete Docker Setup Guide
Install Docker Desktop, clone the repository, copy .env.sample to .env, and run docker compose up -d to start Kaneo on macOS in under five minutes.
Kaneo is a self-hosted project management platform that runs as a containerized stack of PostgreSQL, API, and web UI services. According to the usekaneo/kaneo source code, macOS users can deploy a fully functional instance using Docker Compose with minimal configuration. This guide covers the exact steps documented in the repository's README.md and ENVIRONMENT_SETUP.md files.
Prerequisites: Install Docker Desktop
Kaneo requires Docker Desktop to provide the container runtime and Docker Compose orchestration on macOS. Download the official installer from docker.com and complete the setup wizard. Docker Desktop supports macOS Catalina (10.15) and later versions.
Step-by-Step Installation
Follow these three steps to install Kaneo on your Mac using the official compose.yml configuration.
1. Clone the Repository and Create Environment File
Open Terminal and clone the Kaneo repository, then copy the sample environment file:
git clone https://github.com/usekaneo/kaneo.git
cd kaneo
cp .env.sample .env
The .env file is read by both the API and web containers, so a single configuration file controls the entire stack.
2. Configure Required Environment Variables
Edit the .env file to set the mandatory variables required for authentication and database connectivity:
# Required for macOS local development
KANEO_CLIENT_URL=http://localhost:5173
KANEO_API_URL=http://localhost:1337
AUTH_SECRET=$(openssl rand -hex 32)
POSTGRES_PASSWORD=your-secure-password
DATABASE_URL=postgresql://kaneo:your-secure-password@postgres:5432/kaneo
The AUTH_SECRET must be a 32-character hexadecimal string for securing authentication tokens. See ENVIRONMENT_SETUP.md in the repository for the complete list of optional variables.
3. Start the Docker Compose Stack
Run the following command from the repository root to start PostgreSQL and the Kaneo application containers in detached mode:
docker compose -f compose.yml up -d
Docker will pull the ghcr.io/usekaneo/kaneo:latest image and postgres:16-alpine image automatically. The compose.yml defines a health check for the database and ensures the Kaneo container waits for PostgreSQL to be ready before starting.
Verify the Installation
Open your browser and navigate to http://localhost:5173. The React-based frontend (apps/web/) will automatically connect to the API running at http://localhost:1337.
To monitor container logs and troubleshoot startup issues:
docker compose logs -f
Alternative: One-Click Deployment with Drim
For an automated installation, Kaneo supports the drim CLI tool referenced in the repository's README. After installing Docker Desktop, run:
curl -fsSL https://assets.kaneo.app/install.sh | sh
drim setup
The drim utility downloads the Docker image, generates a valid .env file automatically, and starts the services without manual configuration.
Summary
- Docker Desktop provides the required container runtime for Kaneo on macOS.
- Copy
.env.sampleto.envand configureAUTH_SECRET,DATABASE_URL, and PostgreSQL credentials before starting the stack. - Run
docker compose -f compose.yml up -dto launch the application athttp://localhost:5173. - Use the
drimCLI for automated setup if you prefer zero-configuration deployment. - The
compose.ymlfile in the repository root defines the PostgreSQL and Kaneo services with health checks and persistent volumes.
Frequently Asked Questions
Is Docker Desktop required to run Kaneo on macOS?
Yes. Kaneo is architected as a multi-container application consisting of a PostgreSQL database, Hono-based API (apps/api/), and React frontend (apps/web/). Docker Desktop provides the only supported method for running this stack on macOS, as documented in the official README.md.
What are the minimum required environment variables?
You must set KANEO_CLIENT_URL, KANEO_API_URL, AUTH_SECRET, POSTGRES_PASSWORD, and DATABASE_URL in your .env file. The AUTH_SECRET requires a 32-character hexadecimal string generated via openssl rand -hex 32. These variables are validated by the containers defined in compose.yml.
How do I access Kaneo after installation on my Mac?
Once docker compose up completes, access the web interface at http://localhost:5173. The API listens on port 1337 internally, but the web UI proxies requests automatically based on the KANEO_API_URL variable you configured.
Can I develop Kaneo locally without using Docker?
Yes. The repository includes a pnpm-based monorepo layout suitable for developers. Install Node.js version 18 or higher, run pnpm install, then pnpm dev to start the development servers. However, you must still provide a PostgreSQL instance and configure the environment variables manually, making Docker Compose the faster option for macOS users.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →