Start
Getting started
Run Kanesh with Docker, claim the installation and create your first workspace.
By the end of this guide, you will have Kanesh running locally, an owner account and a collection available through the API. The Docker image includes Studio and uses SQLite by default.
Easiest: interactive setup
You need Docker with the Compose plugin. Pick one way:
One command. It asks for the database (SQLite, PostgreSQL or MySQL), the port and MCP, then starts Kanesh:
curl -fsSL https://YOUR_KANESH_SITE/install.sh | sh Skip the questions with flags, for example sh -s -- --db postgres --port 8080 --mcp. Run the same command again later to upgrade.
One compose file. Prefer to see every line? Download docker-compose.yml and .env and start it yourself; see Docker Compose.
Open http://127.0.0.1:8080 when the script says Kanesh is ready.
Note: Both use the published image, which arrives with the first release. Until then, build the image with the steps below and set
KANESH_IMAGE=kaneshin.env.
Before you start
- Have Git and Docker available to clone the source and build the image.
- Use a browser to complete setup in Studio.
- Keep the
kanesh-datavolume for persistent storage.
Note: Use TLS and
COOKIE_SECURE=truebefore exposing Kanesh outside your machine.
1. Build the image
There is no published image during the preview, so build it from source:
git clone https://github.com/kaneshdev/kanesh.git
cd kanesh
docker build --tag kanesh . 2. Run it
docker run --name kanesh -p 127.0.0.1:8080:8080 -v kanesh-data:/data kanesh Data lives in the kanesh-data volume and survives restarts.
3. Claim the installation
On first start Kanesh writes a single-use token to /data/claim-token:
docker cp kanesh:/data/claim-token ./claim-token Open http://127.0.0.1:8080, paste the token and create the owner account. Keep the token private.
Note: You can skip the token by setting
ADMIN_EMAILandADMIN_PASSWORD(orADMIN_PASSWORD_FILE) before the first start. These settings do not reset an existing owner’s password on restart.
4. Create a collection
In Studio, open Settings → Data model → Create collection. Every collection is immediately available over REST and GraphQL. The API reference page shows ready-to-copy requests and an OpenAPI export.
Troubleshooting
- No image to pull: no published image is available yet. Build the local
kaneshimage in step 1 before running it. - Setup is still required: copy the single-use token from the running container and complete the setup screen. Readiness succeeds after the installation is claimed.
- Changing the bootstrap password has no effect: the admin variables only create an owner on a new installation; restarting does not reset the existing password.