Files
NetAlertX/install/proxmox
sebingel bc66575f91 Add fritzconnection to install-specific requirements files
The fritzconnection dependency was added to the top-level requirements.txt
when the Fritz!Box plugin was introduced, but the install-specific files
for Proxmox and Ubuntu 24 were not updated. Without the entry in these
files, fresh installations via the install scripts would not install the
dependency.

Requested by reviewer jokob-sk in PR #1592.

Changes:
- Add fritzconnection>=1.15.1 to install/proxmox/requirements.txt
- Add fritzconnection>=1.15.1 to install/ubuntu24/requirements.txt

All three requirements files now declare the fritzconnection dependency
consistently.
2026-04-06 10:20:54 +00:00
..
2025-10-07 15:01:32 -04:00

NetAlertX Proxmox Installer

An installer script for deploying NetAlertX on Proxmox VE (Debian-based) systems. This installer automates the complete setup including dependencies, NGINX configuration, systemd service, and security hardening.

🚀 Quick Start

Prerequisites

  • Fresh LXC or VM of Debian 13 or Ubuntu 24
  • Root access
  • Internet connection

Installation

Download and run the installer

wget https://raw.githubusercontent.com/jokob-sk/NetAlertX/refs/heads/main/install/proxmox/proxmox-install-netalertx.sh -O proxmox-install-netalertx.sh && chmod +x proxmox-install-netalertx.sh && ./proxmox-install-netalertx.sh

📋 What This Installer Does

System Dependencies

  • PHP 8.4 with FPM, SQLite3, cURL extensions
  • NGINX with custom configuration
  • Python 3 with virtual environment
  • Network tools: nmap, arp-scan, traceroute, mtr, speedtest-cli
  • Additional tools: git, build-essential, avahi-daemon

Security Features

  • Hardened permissions: Proper user/group ownership
  • TMPFS mounts: Log and API directories mounted as tmpfs for security

Service Management

  • Systemd service: Auto-start on boot with restart policies
  • Service monitoring: Built-in health checks and logging
  • Dependency management: Waits for network and NGINX

🔧 Configuration

Port Configuration

The installer will prompt for a custom port, or defaultto 20211 after 10-seconds:

Enter HTTP port for NetAlertX [20211] (auto-continue in 10s): 

Service Management

# Check service status
systemctl status netalertx

# View logs
journalctl -u netalertx -f

# Restart service
systemctl restart netalertx

# Stop service
systemctl stop netalertx

🌐 Access

After installation, access NetAlertX at:

http://[SERVER_IP]:[PORT]

🔒 Security Considerations

TMPFS Mounts

  • /app/log - Mounted as tmpfs (no persistent logs)
  • /app/api - Mounted as tmpfs (temporary API data)

File Permissions

  • Application files: www-data:www-data with appropriate permissions
  • NGINX runs as www-data user
  • Log directories: Secure permissions with tmpfs

Network Security

  • NGINX configured for internal network access
  • No external firewall rules added (configure manually if needed)

🛠️ Troubleshooting

Common Issues

403 Forbidden Error

# Check file permissions
ls -la /var/www/html/netalertx
ls -la /app/front

# Fix permissions
chown -R www-data:www-data /app/front
chmod -R 755 /app/front

Service Won't Start

# Check service status
systemctl status netalertx

# View detailed logs
journalctl -u netalertx --no-pager -l

# Check if port is in use
ss -tlnp | grep :20211

GraphQL Connection Issues

# Check API token in config
grep API_TOKEN /app/config/app.conf

# Verify GraphQL port
grep GRAPHQL_PORT /app/config/app.conf

# Check backend logs
tail -f /app/log/app.log

Log Locations

  • Service logs: journalctl -u netalertx
  • Application logs: /app/log/ (tmpfs)
  • NGINX logs: /var/log/nginx/
  • PHP logs: /app/log/app.php_errors.log

Manual Service Start

If systemd service fails:

# Activate Python environment
source /opt/myenv/bin/activate

# Start manually
cd /app
python server/

or

./start.netalertx.sh

🔄 Updates

Updating NetAlertX

# Stop service
systemctl stop netalertx

# Update from repository
cd /app
git pull origin main

# Restart service
systemctl start netalertx

📁 File Structure

/app/                          # Main application directory
├── front/                     # Web interface (symlinked to /var/www/html/netalertx)
├── server/                    # Python backend
├── config/                    # Configuration files
├── db/                        # Database files
├── log/                       # Log files (tmpfs)
├── api/                       # API files (tmpfs)
└── start.netalertx.sh        # Service startup script

/etc/systemd/system/
└── netalertx.service         # Systemd service definition

/etc/nginx/conf.d/
└── netalertx.conf            # NGINX configuration

🤝 Contributing

This installer will need a maintainer

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

🙏 Acknowledgments

  • NetAlertX development team
  • Proxmox VE community
  • Debian/Ubuntu maintainers
  • Open source contributors

Note: This installer was designed for a Proxmox LXC Debian 13 or Ubuntu 24 containers. For other systems, please use the appropriate installer or manual installation instructions.