# Kaneo - Simple self-hosted project management tool with kanban boards and gantt charts. - The UI is pretty nice and intuitive, and it has all the basic features you'd expect from a project management tool (tasks, subtasks, comments, attachments, etc.). - Keyboard support is a bit "opinionated" so may require some getting used to, but overall it's pretty comprehensive. - It seems to also have a 2-way github issues sync (haven't tried it yet). - The docs are a bit vague in some areas, which made the setup more challenging than necessary.
- [Homepage](https://kaneo.app/) - [Github repo](https://github.com/usekaneo/kaneo) - [Docs](https://kaneo.app/docs) ## docker-compose.yml ```yaml services: postgres: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_DB: kaneo POSTGRES_USER: kaneo_user POSTGRES_PASSWORD: kaneo_password volumes: - ./data:/var/lib/postgresql/data backend: image: ghcr.io/usekaneo/api:latest container_name: kaneoapi restart: unless-stopped depends_on: - postgres environment: AUTH_SECRET: "UPWSUr1YriZXz8CRV5Ecqs3iRudCQ2syOtyzz6Buf3k=" DATABASE_URL: "postgresql://kaneo_user:kaneo_password@postgres:5432/kaneo" KANEO_API_URL: "http://:1337" KANEO_CLIENT_URL: "http://:5173" CORS_ORIGINS: "http://:5173,http://:1337" ports: - 1337:1337 frontend: image: ghcr.io/usekaneo/web:latest restart: unless-stopped depends_on: - backend environment: KANEO_API_URL: "http://:1337" KANEO_CLIENT_URL: "http://:5173" CORS_ORIGINS: "http://:5173,http://:1337" ports: - 5173:5173 ``` ## Tips & Tricks - Generate the `AUTH_SECRET` using `openssl rand -base64 32`. - Replace `` with the IP/hostname of your server. - ensure that the ports match (especially in both `CORS_ORIGINS` variables as without this - the client and server won't be able to communicate). - The app will be available at `http://:5173` (front-end).