Coolify
Kaneo ships a Coolify-optimized Docker Compose file so you can deploy the pre-builtghcr.io/usekaneo/kaneo image from the repository without building anything.
Deployment Steps
- Create a new resource: In your Coolify project, click + New and choose Public Repository.
- Enter the repository:
https://github.com/usekaneo/kaneoand click Check Repository. - Select the build pack: Set Build Pack to
Docker Compose.- Base Directory:
/ - Docker Compose Location:
compose.coolify.yml
- Base Directory:
- Assign a domain to the
kaneoservice: the container listens on port5173, so enterhttps://<your-domain>:5173. The port only tells Coolify where to route traffic inside the container — visitors use the normal HTTPS URL (https://<your-domain>) without the port. - Set environment variables (pre-filled from the compose file):
KANEO_CLIENT_URL(required): your public URL, e.g.https://kaneo.example.com(no:5173).AUTH_SECRET(auto-generated 64-character hex, editable).- PostgreSQL password (auto-generated, shared with both services).
- Do not set
KANEO_API_URLtolocalhostor an internal address. Leave it unset — the container derives it fromKANEO_CLIENT_URL(https://kaneo.example.com/api). The browser must reach the API over the same public domain, not a host-internal URL. KANEO_IMAGE_TAG(optional): the Kaneo image version to deploy. It defaults tolatest; set it to a release tag such as2.20.0to hold the deployment on a known version.
- Deploy.
What the Compose File Sets Up
- PostgreSQL 16 with a persistent volume; Kaneo waits for its health check before starting.
- Kaneo bundled image (nginx + API in one container) on port
5173. - Kaneo version: the image tracks
latest, so a redeploy picks up the newest release. The API runs database migrations on startup, so setKANEO_IMAGE_TAGto a release tag if you would rather upgrade deliberately. KANEO_API_URLis derived automatically fromKANEO_CLIENT_URLby the container entrypoint — no extra API URL configuration needed.- No host port mappings or custom networks: Coolify’s proxy handles all external traffic.
Post-Deployment Setup
- Create your first user: visit your domain to create the admin account.
- Email (optional): set the
SMTP_*variables on thekaneoservice in the Coolify UI. - SSO (optional): configure GitHub, Google, or other providers — see the social providers guides.
Troubleshooting
- “No Available Server”: check the container health check with
docker ps; the image needs up to 60 seconds to start. - Verify environment: ensure
KANEO_CLIENT_URLis set to the exact public URL of your instance.