All checks were successful
PostgreSQL Compatibility Matrix / PG14 smoke (push) Successful in 8s
PostgreSQL Compatibility Matrix / PG15 smoke (push) Successful in 8s
PostgreSQL Compatibility Matrix / PG16 smoke (push) Successful in 8s
PostgreSQL Compatibility Matrix / PG17 smoke (push) Successful in 8s
PostgreSQL Compatibility Matrix / PG18 smoke (push) Successful in 8s
Replaced local builds with prebuilt backend and frontend Docker images for simplified deployment. Updated documentation and Makefile to reflect the changes and added a bootstrap script for quick setup of deployment files. Removed deprecated `VITE_API_URL` variable and references to streamline the setup.
61 lines
2.1 KiB
Plaintext
61 lines
2.1 KiB
Plaintext
# ------------------------------
|
|
# Application
|
|
# ------------------------------
|
|
# Display name used in API docs/UI.
|
|
APP_NAME=NexaPG Monitor
|
|
# Runtime environment: dev | staging | prod | test
|
|
ENVIRONMENT=dev
|
|
# Backend log level: DEBUG | INFO | WARNING | ERROR
|
|
LOG_LEVEL=INFO
|
|
|
|
# ------------------------------
|
|
# Core Database (internal metadata DB)
|
|
# ------------------------------
|
|
# Database that stores users, targets, metrics, query stats, and audit logs.
|
|
DB_NAME=nexapg
|
|
DB_USER=nexapg
|
|
DB_PASSWORD=nexapg
|
|
# Host port mapped to the internal PostgreSQL container port 5432.
|
|
DB_PORT=5433
|
|
|
|
# ------------------------------
|
|
# Backend API
|
|
# ------------------------------
|
|
# Host port mapped to backend container port 8000.
|
|
BACKEND_PORT=8000
|
|
# JWT signing secret. Change this in every non-local environment.
|
|
JWT_SECRET_KEY=change_this_super_secret
|
|
JWT_ALGORITHM=HS256
|
|
# Access token lifetime in minutes.
|
|
JWT_ACCESS_TOKEN_MINUTES=15
|
|
# Refresh token lifetime in minutes (10080 = 7 days).
|
|
JWT_REFRESH_TOKEN_MINUTES=10080
|
|
# Key used to encrypt monitored target passwords at rest.
|
|
# Generate with:
|
|
# python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
|
|
ENCRYPTION_KEY=REPLACE_WITH_FERNET_KEY
|
|
# Allowed CORS origins for browser clients.
|
|
# Use comma-separated values, e.g.:
|
|
# CORS_ORIGINS=http://localhost:5173,https://nexapg.example.com
|
|
# Dev-only shortcut:
|
|
# CORS_ORIGINS=*
|
|
CORS_ORIGINS=http://localhost:5173,http://localhost:8080
|
|
# Target polling interval in seconds.
|
|
POLL_INTERVAL_SECONDS=30
|
|
# Active Connection Ratio alert is only evaluated when total sessions
|
|
# are at least this number (reduces false positives on low-traffic DBs).
|
|
ALERT_ACTIVE_CONNECTION_RATIO_MIN_TOTAL_CONNECTIONS=5
|
|
# Rollback Ratio tuning to reduce false positives on low traffic.
|
|
ALERT_ROLLBACK_RATIO_WINDOW_MINUTES=15
|
|
ALERT_ROLLBACK_RATIO_MIN_TOTAL_TRANSACTIONS=100
|
|
ALERT_ROLLBACK_RATIO_MIN_ROLLBACKS=10
|
|
# Initial admin bootstrap user (created on first startup if not present).
|
|
INIT_ADMIN_EMAIL=admin@example.com
|
|
INIT_ADMIN_PASSWORD=ChangeMe123!
|
|
|
|
# ------------------------------
|
|
# Frontend
|
|
# ------------------------------
|
|
# Host port mapped to frontend container port 80.
|
|
FRONTEND_PORT=5173
|