Files
OpenVPN-Monitoring-Simple/APP_CORE
iclaoudezinandClaude Sonnet 5.5 5de0501cbc Compose: require JWT secret, seed admin via env, stop publishing internal ports
- JWT_SECRET is mandatory (no more "supersecret" fallback).
- Pass OVPMON_INITIAL_ADMIN_USER/PASSWORD and OVPMON_CORS_ORIGINS to the
  APIs; add restart policy and drop the obsolete compose "version".
- Publish only 80/tcp and 1194/udp; expose 5001 and 8000 on ovp-net.
- CORS origins now come from OVPMON_CORS_ORIGINS instead of a hardcoded
  host (default: same-origin only).
- Update Docker/native deployment docs and README accordingly.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 12:14:22 +00:00
..
2026-02-06 09:02:59 +03:00
2026-01-28 22:37:47 +03:00
2026-01-28 22:37:47 +03:00

Core Monitoring Module (APP_CORE)

The Core Monitoring module provides the backend logic for collecting, extracting, and serving OpenVPN usage statistics.

Components

  1. Mining API (openvpn_api_v3.py):

    • A Flask-based REST API running on port 5001.
    • Serves real-time data, authentication (JWT), and historical statistics.
    • Connects to the SQLite database ovpmon.db.
  2. Data Gatherer (openvpn_gatherer_v3.py):

    • A background service/daemon.
    • Parses OpenVPN server logs (status.log).
    • Aggregates bandwidth usage into time-series tables (usage_history, stats_hourly, etc.).

Configuration

Configuration is handled via config.ini (typically located in the project root or /etc/openvpn/monitor/).

Development

# Setup Environment
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Run API
python3 openvpn_api_v3.py

# Run Gatherer (in separate terminal)
python3 openvpn_gatherer_v3.py

API Documentation

Full API documentation is available in DOCS/Core_Monitoring/API_Reference.md.