63 lines
2.1 KiB
Markdown
63 lines
2.1 KiB
Markdown
# OpenVPN Monitor & Profiler
|
||
|
||
A modern, full-stack management solution for OpenVPN servers. It combines real-time traffic monitoring, historical analytics, and comprehensive user profile/PKI management into a unified web interface.
|
||
|
||
## <20>️ Project Architecture
|
||
|
||
The project is modularized into three core components:
|
||
|
||
| Component | Directory | Description |
|
||
| :--- | :--- | :--- |
|
||
| **Core Monitoring** | `APP_CORE/` | Flask-based API (v3) for log parsing, real-time stats, and historical TSDB. |
|
||
| **Profiler** | `APP_PROFILER/` | FastAPI-based module for managing PKI, Certificates, and Server Configs. |
|
||
| **User Interface** | `APP_UI/` | Vue 3 + Vite Single Page Application (SPA) serving as the unified dashboard. |
|
||
|
||
## 📚 Documentation
|
||
|
||
Detailed documentation has been moved to the `DOCS/` directory.
|
||
|
||
- **[Installation & Deployment](DOCS/General/Deployment.md)**: Setup guide for Linux (Alpine/Debian).
|
||
- **[Service Management](DOCS/General/Service_Management.md)**: Configuring Systemd/OpenRC services.
|
||
- **[Security & Auth](DOCS/General/Security_Architecture.md)**: 2FA, JWT, and Security details.
|
||
|
||
### API References
|
||
- **[Core Monitoring API](DOCS/Core_Monitoring/API_Reference.md)**: Endpoints for stats, sessions, and history.
|
||
- **[Profiler Management API](DOCS/Profiler_Management/API_Reference.md)**: Endpoints for profiles, system config, and control.
|
||
|
||
## 🚀 Quick Start (Dev Mode)
|
||
|
||
### 1. Core API (Flask)
|
||
```bash
|
||
cd APP_CORE
|
||
python3 -m venv venv
|
||
source venv/bin/activate
|
||
pip install -r requirements.txt
|
||
python3 openvpn_api_v3.py
|
||
# Runs on :5001 (Monitoring)
|
||
```
|
||
|
||
### 2. Profiler API (FastAPI)
|
||
```bash
|
||
cd APP_PROFILER
|
||
python3 -m venv venv
|
||
source venv/bin/activate
|
||
pip install -r requirements.txt
|
||
python3 main.py
|
||
# Runs on :8000 (Management)
|
||
```
|
||
|
||
### 3. Frontend (Vue 3)
|
||
```bash
|
||
cd APP_UI
|
||
npm install
|
||
npm run dev
|
||
# Runs on localhost:5173
|
||
```
|
||
|
||
---
|
||
|
||
## ⚠️ Important Notes
|
||
|
||
1. **Environment**: Production deployment relies on Nginx to proxy requests to the backend services. See the [Deployment Guide](DOCS/General/Deployment.md).
|
||
2. **Permissions**: The backend requires `sudo` or root privileges to manage OpenVPN processes and write to `/etc/openvpn`.
|