Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SecOps Platform (BFF & Dashboard)

This repository contains a unified Security Operations (SecOps) platform consisting of a Backend-For-Frontend (BFF) API gateway and a modern Web Dashboard (ZeroSec).

This setup is ideal for homelab environments that want a centralized view of security alerts (Wazuh), infrastructure (Proxmox), and local AI integrations (Ollama).

Repository Structure

  • /bff: A Node.js Backend-For-Frontend API gateway layer. It provides a consolidated, secure ingress proxy for the dashboard (and mobile apps) to communicate with internal components (Wazuh API, Ollama, Proxmox API, Gotify).
  • /dashboard: A Next.js Web Dashboard for visualizing and managing SecOps alerts and infrastructure state.

Configuration

Before deploying, you must configure the endpoints to match your specific infrastructure.

1. BFF Configuration

Navigate to the bff directory and set up your environment variables:

cd bff
cp .env.example .env

Edit the .env file and replace the placeholder example.com domains and 10.0.0.X IPs with the actual addresses of your Wazuh, Gitea, Gotify, and Ollama instances.

2. Dashboard Configuration

The dashboard needs to know where the BFF is located.

  • Update the routing rewrite rules in dashboard/next.config.ts to point to your deployed BFF instance.
  • Update any default configuration values in dashboard/src/components/Settings.tsx to match your local network.

Deployment

Local Development

To run the services locally for development and testing:

Run the BFF:

cd bff
npm install
npm run dev

Run the Dashboard:

cd dashboard
npm install
npm run dev

Production (Kubernetes / GitOps)

If you are deploying to a Kubernetes cluster (e.g., K3s) using GitOps (e.g., ArgoCD):

  1. Build and push the Docker images for both the bff and dashboard using the provided Dockerfiles to your private registry.
  2. Review the sample manifests in dashboard/k8s/ (argo-app.yaml and manifests.yaml).
  3. Update the example.com hostnames, the your-username paths, and the container image locations to match your setup.
  4. Apply the manifests to your cluster.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages