Comprehensive Nginx management system with ModSecurity WAF, Domain Management, SSL Certificates and Real-time Monitoring.
- π ModSecurity WAF - OWASP Core Rule Set (CRS) + Custom Rules
- π Domain Management - Load balancing, upstream monitoring, HTTPS backend support
- π SSL Certificate Management - Auto Let's Encrypt + Manual upload
- π₯ Multi-user Management - Role-based access control (Admin/Moderator/Viewer)
- π Real-time Monitoring - Performance metrics, alerts, system health
- π‘οΈ Access Control Lists (ACL) - IP whitelist/blacklist, GeoIP, User-Agent filtering
- π Activity Logging - Comprehensive audit trail
- π Smart Alerts - Email/Telegram notifications with custom conditions
- πΎ Database Management - PostgreSQL with Prisma ORM
- π¨ Modern UI - React + TypeScript + ShadCN UI + Tailwind CSS
- Node.js 18+
- pnpm 8+
- Docker & Docker Compose
The easiest way to get started:
# Clone repository
git clone https://github.com/TinyActive/nginx-love.git
cd nginx-love
# Run quick start script (sets up everything)
bash scripts/quickstart.shThis will:
- Install dependencies
- Start Docker services (PostgreSQL + API)
- Run database migrations and seeding
- Start frontend on http://localhost:5173
Default Credentials:
- Username:
admin - Password:
admin123
Press Ctrl+C to stop all services
If you prefer manual control:
git clone https://github.com/TinyActive/nginx-love.git
cd nginx-love
pnpm install# Docker Compose (database + API)
cp .env.example .env
# Frontend
cp apps/web/.env.example apps/web/.envImportant: Update .env with secure secrets before deploying to production.
# Start database and API in containers
docker-compose up -d
# View logs
docker-compose logs -f api# Run migrations inside the API container
docker-compose exec api pnpm prisma:migrate
docker-compose exec api pnpm prisma:seed# Start frontend (connects to API on http://localhost:3001)
pnpm --filter @nginx-love/web dev # http://localhost:5173All scripts are located in the scripts/ directory and are ready to use.
Best for: First-time setup, testing, demos
bash scripts/quickstart.shWhat it does:
- β Installs dependencies (pnpm)
- β
Copies
.envfiles from examples - β Starts Docker services (PostgreSQL + API)
- β Runs database migrations and seeding
- β Starts frontend on http://localhost:5173
- β Handles graceful shutdown (Ctrl+C)
Architecture:
- Database: Docker
- API: Docker (port 3001)
- Frontend: Local (port 5173)
Best for: Development with hot-reload for API and frontend
bash scripts/start.shWhat it does:
- β Installs dependencies (pnpm)
- β
Copies
.envfiles from examples - β Starts PostgreSQL in Docker
- β Runs API locally with hot-reload (port 3001)
- β Runs frontend locally with hot-reload (port 5173)
- β Handles graceful shutdown (Ctrl+C)
Architecture:
- Database: Docker
- API: Local (port 3001)
- Frontend: Local (port 5173)
Best for: Production servers with Nginx + ModSecurity
sudo bash scripts/deploy.shWhat it does:
- β Installs prerequisites (Node.js, pnpm, Docker, Docker Compose)
- β Builds and starts Docker services (PostgreSQL + API)
- β Runs database migrations and seeding
- β Installs Nginx + ModSecurity WAF
- β Builds and deploys frontend
- β Configures systemd services
- β
Saves credentials to
/root/.nginx-love-credentials
After deployment:
- Frontend:
http://YOUR_IP:8080 - Backend API:
http://YOUR_IP:3001
Manage services:
# Docker services
docker-compose up -d # Start all
docker-compose down # Stop all
docker-compose logs -f api # View API logs
# Frontend (systemd)
systemctl restart nginx-love-frontend
# Nginx
systemctl restart nginxArchitecture:
- Database: Docker
- API: Docker (port 3001)
- Frontend: Systemd service (port 8080)
- Nginx: Reverse proxy + ModSecurity WAF
| Script | Database | API | Frontend | Root | Use Case |
|---|---|---|---|---|---|
quickstart.sh |
Docker | Docker | Local | β | Quick testing |
start.sh |
Docker | Local | Local | β | Development |
deploy.sh |
Docker | Docker | Systemd | β | Production |
For advanced users who want manual control:
# Development
pnpm dev # Start all apps locally
pnpm build # Build all apps
pnpm lint # Lint all apps
# Database (from apps/api/)
pnpm prisma:generate # Generate Prisma client
pnpm prisma:migrate # Run migrations
pnpm prisma:seed # Seed database
pnpm prisma:studio # Open Prisma Studio
# Docker
docker-compose up -d # Start database + API
docker-compose up -d db # Start only database
docker-compose logs -f api # View API logs
docker-compose exec api pnpm prisma:migrate # Run migrations
docker-compose down # Stop all servicesnginx-love/
βββ apps/
β βββ web/ # Vite + React frontend
β βββ api/ # Express + Prisma backend
βββ docs/ # Documentation
βββ scripts/ # Deployment scripts
βββ config/ # Configuration files
- Complete API Reference - All API endpoints and examples
Apache 2.0 License. See LICENSE for details.
- π Bug Reports: GitHub Issues
- π‘ Feature Requests: GitHub Discussions
- π Documentation: Project Wiki
- π¬ Community: Discord Server (coming soon)
For security vulnerabilities, please email: security@tinyactive.net
π₯ Made with β€οΈ by TinyActive Team
β Star this repository if it helped you!