What changed in v2.6.0
This release replaces the separateapi and web containers with a single kaneo container. nginx runs on port 5173 and proxies /api/ requests to the internal Node API. Everything else (the database, volumes, environment variables) works the same.
Three areas require changes when upgrading:
- Docker Compose: replace the
apiandwebservices withkaneo - Environment variables:
KANEO_API_URLandDATABASE_URLare now optional - Helm chart: all
api.*andweb.*values moved underkaneo.*(chart version 0.3.0)
Docker Compose
Before
After
api and web service blocks and add the kaneo service. The postgres service is unchanged except for the added healthcheck, which kaneo waits for before starting.
Environment variables
KANEO_API_URL is now optional
Previously bothKANEO_CLIENT_URL and KANEO_API_URL were required. Now KANEO_API_URL is derived automatically from KANEO_CLIENT_URL:
KANEO_API_URL from your .env unless you need to override it (for example, when a reverse proxy changes the API path).
Before:
DATABASE_URL is now optional
For the bundled image,DATABASE_URL is derived from POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB, and the default Compose hostname if you leave it unset:
DATABASE_URL explicitly with the same values, you can remove it.
Keep it if you use an external database, a non-default hostname, or a host-native API process that should connect through localhost instead of the Compose hostname.
Before:
AUTH_SECRET fallback behavior
IfAUTH_SECRET is not set, the container generates a random 64-character hex secret at startup and prints a warning to stderr. This means sessions will not survive container restarts.
Set a stable secret to avoid losing active sessions on restart:
Helm chart (0.2.0 → 0.3.0)
Chart version 0.3.0 is a breaking change. Allapi.* and web.* value keys have moved under kaneo.*.
Changed value keys
Example values migration
Before (values.yaml):
values.yaml):
Upgrade command
api.* or web.* keys remain.
Minimum working configuration
After upgrading, a minimal.env for Docker Compose requires three values:
openssl rand -hex 32 and keep it persistent, or active sessions will be invalidated after a container restart.
POSTGRES_DB and POSTGRES_USER default to kaneo if not set. KANEO_API_URL and DATABASE_URL are derived automatically.