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=kanesh in .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-data volume for persistent storage.

Note: Use TLS and COOKIE_SECURE=true before 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_EMAIL and ADMIN_PASSWORD (or ADMIN_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 kanesh image 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.

Next steps

Buy me a coffee