Skip to content

Latest commit

 

History

627 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DataGate Monitor

Monitoring dashboard and API for DataGate VPN infrastructure: OpenVPN and Xray servers, live status, traffic overview, admin tools, and an optional Telegram bot.

Links

Resource Link
Product datagateapp.com
Download app datagateapp.com/download
Dashboard (prod) dash.datagateapp.com
Telegram channel @datagateapp
Repository github.com/IMKolganov/DataGateMonitor

Quick start (production, prebuilt images)

Install Docker and Docker Compose first.

1) Clone with submodules

git clone --recurse-submodules https://github.com/IMKolganov/DataGateMonitor.git
cd DataGateMonitor

If you already cloned without submodules:

git submodule update --init --recursive

2) Start the stack

Use the env file for your architecture (x64 example):

docker compose --env-file .env.prod.x64 up -d --pull always

Local URLs

Service URL
Dashboard http://localhost:5582
API http://localhost:5581
PostgreSQL localhost:5432 (container: postgres_backend:5432)
Xray manager API http://localhost:15012 (override XRAY_MANAGER_HOST_PORT)

Xray VLESS listens on xray:443 inside Compose. Local dev compose exposes VLESS on localhost:30443 — see docker-compose-local.yml.

Local development (build from source)

docker compose -f docker-compose-local.yml --env-file .env.dev.x64 up -d --build

See README-DEV.md for more dev workflows.

Repository structure

backend/          # ASP.NET Core API (submodule → DataGateMonitorBackend)
frontend/         # React + Vite UI (submodule)
openvpn/          # OpenVPN sidecar + DataGateOpenVpnManager (submodule)
xray/             # Xray sidecar + DataGateXRayManager (submodule)
telegrambot/      # Optional Telegram bot (submodule)
docker-compose.yml
docker-compose-local.yml
build.sh            # Build/push datagate-monitor-* Docker images

Key environment variables

Override in .env.prod.* / .env.dev.*:

  • Backend: DB_CONNECTION_STRING_DATAGATE, DB_DEFAULT_SCHEMA, JWT_SECRET (≥16 chars), ELASTIC_*, EmailSender__*, Auth__PublicWebBaseUrl (TV QR origin), Auth__TvLoginSessionMinutes
  • Frontend (compose): BACKEND_INTERNAL_URL — nginx proxy target inside Docker network
  • Telegram bot: TELEGRAMBOT_BOT_TOKEN, DASHBOARDAPI_*, ELASTIC_*
  • OpenVPN sidecars: DATA_DIR, EASY_RSA_PATH, PORT, API_PORT, OpenVpnManagement__Port, BACKEND__BASEURL
  • Xray sidecar: XRayManagement__Host, XRayManagement__Port, Backend__BaseUrl, XRAY_TRANSPORT_MODE (plain / tls / reality)
  • PostgreSQL: POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD

Docker images: imkolganov/datagate-monitor-{backend,frontend,openvpn,xray,telegrambot}.

Volumes

openvpn_data_udp   openvpn_data_tcp   xray_data   postgres_data_backend   backend_data

Author & support

Ivan Kolganov

Contact Link
LinkedIn linkedin.com/in/imkolganov
Telegram @KolganovIvan
Buy Me a Coffee buymeacoffee.com/imkolganov
Product updates @datagateapp

License

MIT — see LICENSE if present in the repo root.

About

A monitoring suite for OpenVPN servers with a dashboard, real‑time status

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages