Manual Deployment

Deploy KubeMate manually for maximum control and customization. This method is ideal for developers who want full visibility into each component and prefer to run services separately.

Prerequisites

Python 3.8 or higher

Node.js 18 or higher with npm

PostgreSQL 15 or higher (should be running)

kubectl configured with your cluster

An LLM provider API key

Quick Start

The absolute minimum setup to start using KubeMate manually is:

1

Clone the repository

git clone https://github.com/mehdi-chebbi/k8s-web.git
cd k8s-web
2

Install backend dependencies

cd backend
pip install -r requirements.txt
3

Configure environment variables

Make sure PostgreSQL 15 or higher is running, then configure the .env file with your database credentials, LLM API key, and kubeconfig settings.

# In backend directory
cp .env.example .env
# Edit .env with your configuration
4

Start the backend server

python app.py
5

Install frontend dependencies

cd ../frontend
npm install
6

Start the frontend development server

npm run dev

that's it!

Running Both Services

You'll need to run the backend and frontend in separate terminal windows. The backend typically runs on port 8000 (or as configured), and the frontend on port 3000.

Access the application at http://localhost:3000

Configuration Details

To make things even easier, the manual setup gives you complete control over every aspect of the application. You can customize the database connection, LLM provider settings, authentication methods, and more by editing the .env file.

So you don't need to do anything more to start exploring your clusters right now, however take your time reading the information below to get a deeper understanding about how these concepts work.