Kubernetes
Deploy LinkBreeze on Kubernetes with Deployment, Service, and Ingress.
LinkBreeze ships with a ready-to-adapt Kubernetes manifest in the examples/ directory.
Quick start
git clone https://github.com/Manak-hash/LinkBreeze.git
cd LinkBreeze/examples
# Edit the manifest: set your domain, secret key, and storage class
nano kubernetes.yaml
# Apply
kubectl apply -f kubernetes.yaml
What the manifest includes
- Deployment with a single replica (LinkBreeze uses SQLite, so scale horizontally with care)
- Service (ClusterIP) exposing port 3000
- Ingress with TLS placeholder for your ingress controller
- PersistentVolumeClaim for the
linkbreeze-datavolume - Resource limits and a readiness probe
Prerequisites
- A Kubernetes cluster (managed or self-hosted)
- An Ingress controller installed (nginx-ingress, Traefik, etc.)
- A StorageClass that supports
ReadWriteOnce
Configuration
The manifest uses a ConfigMap for non-sensitive config and a Secret for SECRET_KEY. Edit both before applying:
apiVersion: v1
kind: Secret
metadata:
name: linkbreeze-secrets
type: Opaque
stringData:
SECRET_KEY: "your-random-secret-key-here"
Generate a strong key:
openssl rand -hex 32
Scaling considerations
LinkBreeze uses SQLite as its database. This means:
- One replica is the safe default
- For high availability, front the pod with a read cache or migrate to PostgreSQL (planned)
- The HPA in the example is optional — only enable it if you understand the SQLite multi-writer limitation
Updating
kubectl set image deployment/linkbreeze linkbreeze=ghcr.io/manak-hash/linkbreeze:latest
kubectl rollout status deployment/linkbreeze
Database migrations run automatically on startup.