Deployment Guides
QueryGlow is container-ready with file-based persistence. The deploy.sh script auto-detects your server setup and configures everything for you.
Minimum Requirements
- RAM: 512MB minimum (1GB recommended)
- OS: Ubuntu 20.04+, Debian 11+, or similar Linux
- Ports: 80 and 443 open for SSL certificate generation
- Domain: DNS A record pointing to your server IP
🔥 Firewall Setup
Open the required ports before running deploy.sh:
sudo ufw allow 22/tcp # SSH (don't lock yourself out!) sudo ufw allow 80/tcp # HTTP (Let's Encrypt verification) sudo ufw allow 443/tcp # HTTPS (QueryGlow) sudo ufw enable
⚠️ Never open database ports (5432, 3306) to the internet. QueryGlow connects to databases internally.
Auto-Detected Deployment Modes
The deploy script automatically detects your server setup:
- Standalone Mode: Fresh server with no existing nginx → Docker handles nginx + SSL + app
- Integration Mode: Server already running nginx → Integrates with your existing nginx + system certbot
What the deploy script configures automatically:
- ✔ HTTPS with Let's Encrypt
- ✔ Nginx reverse proxy
- ✔ Basic Auth (bcrypt hashed)
- ✔ Safe Mode enabled by default
- ✔ AES-256-GCM credential encryption
- ✔ Search engine blocking
- ✔ Security headers (HSTS, X-Frame-Options)
- ✔ Auto port detection (3000, 3001, etc.)