Skip to content

Latest commit

 

History

History
225 lines (158 loc) · 5.45 KB

README.md

File metadata and controls

225 lines (158 loc) · 5.45 KB

Kaneo's logo

Kaneo

license GitHub Workflow Status Discord

An open source project management platform focused on simplicity and efficiency.

✨ Features

  • 🚀 Simple & Fast: Minimalist interface with powerful features
  • 🔒 Self-hosted: Full control over your data
  • 🎨 Customizable: Make it yours with extensive customization options
  • 🤝 Open Source: MIT licensed, free forever

🚀 Quick Start

  1. Create a compose.yml file with the following content:
services:
  backend:
    image: ghcr.io/usekaneo/api:latest
    environment:
      JWT_ACCESS: "change_me"
      DB_PATH: "/app/apps/api/data/kaneo.db"
    ports:
      - 1337:1337
    restart: unless-stopped
    volumes:
      - sqlite_data:/app/apps/api/data

  frontend:
    image: ghcr.io/usekaneo/web:latest
    environment:
      KANEO_API_URL: "http://localhost:1337"
    ports:
      - 5173:80
    restart: unless-stopped

volumes:
  sqlite_data:
  1. Run docker compose up -d to start the services.

  2. Open http://localhost:5173 in your browser.

  3. Create your first project and start managing your tasks!

Variable Description
KANEO_API_URL The URL of the API
JWT_ACCESS Secret key for generating JWT tokens
DB_PATH The path to the database file

🚢 Kubernetes Deployment

Kaneo can also be deployed on Kubernetes using our Helm chart:

  1. Clone this repository:
git clone https://github.com/usekaneo/kaneo.git
cd kaneo
  1. Install the Helm chart:
helm install kaneo ./charts/kaneo --namespace kaneo --create-namespace
  1. Access Kaneo:
# Port forward to access both services
kubectl port-forward svc/kaneo-web 5173:80 -n kaneo &
kubectl port-forward svc/kaneo-api 1337:1337 -n kaneo &

# Access the application at http://localhost:5173
# The web frontend will communicate with the API at http://localhost:1337

Production Deployments

For production environments, we recommend using Ingress to expose Kaneo:

# Basic installation with ingress
helm install kaneo ./charts/kaneo \
  --namespace kaneo \
  --create-namespace \
  --set ingress.enabled=true \
  --set ingress.className=nginx \
  --set "ingress.hosts[0].host=kaneo.example.com"

For detailed production deployment examples, including:

  • TLS configuration
  • Cert-manager integration
  • Path rewriting with regex capture groups
  • Gateway API usage
  • Resource configuration

Please refer to the Helm chart documentation.

Local Deployments with Minikube

For local deployments with Minikube:

  1. Start Minikube:
minikube start
  1. Install the Helm chart with Ingress enabled:
helm install kaneo ./charts/kaneo \
  --namespace kaneo \
  --create-namespace \
  --set ingress.enabled=true \
  --set ingress.className=nginx \
  --set "ingress.hosts[0].host=kaneo.local"
  1. Enable the Ingress addon if not already enabled:
minikube addons enable ingress
  1. Access Kaneo based on your OS:

macOS

For macOS, you need to use minikube tunnel to access the Ingress:

# Start minikube tunnel in a separate terminal
minikube tunnel

Update your /etc/hosts file:

# Add to /etc/hosts
127.0.0.1 kaneo.local

Access Kaneo at http://kaneo.local

Linux/Windows

Get the Minikube IP:

minikube ip

Update your hosts file with the Minikube IP:

# Add to /etc/hosts (Linux) or C:\Windows\System32\drivers\etc\hosts (Windows)
192.168.49.2 kaneo.local  # Replace with the actual Minikube IP

Access Kaneo at http://kaneo.local

📖 Documentation

For detailed instructions and documentation, visit our Documentation.

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

💬 Community

❤️ Contributors & Supporters

Thank you to all the contributors and sponsors who have helped make Kaneo better! 💖

Contributors

Contributors

Sponsors

User avatar: Alex Gutjahr

📝 License

This project is licensed under the MIT License.