Automated GenieACS installation scripts for Linux distributions
- π― One-click installation - Simple curl command to get started
- π‘οΈ Auto database setup - MongoDB or Redis/Valkey fallback
- π₯ Firewall configuration - UFW rules automatically configured
- βοΈ Service management - SystemD services with auto-restart
- π¨ Custom port support - Configure your preferred UI port
- π Status verification - Real-time service health checks
- π§ Clean output - Minimal noise, maximum clarity
Distribution | Status | Script |
---|---|---|
Arch Linux | β Supported | genieacs-arch.sh |
EndeavourOS | β Supported | genieacs-arch.sh |
Ubuntu 20.04 | β Supported | genieacs-ubuntu.sh |
Ubuntu 22.04 | β Supported | genieacs-ubuntu.sh |
Ubuntu 24.04 | β Supported | genieacs-ubuntu.sh |
Debian | genieacs-ubuntu.sh |
# Download and run the installer
curl -fsSL https://raw.githubusercontent.com/skydashnet/GenieACS-Auto-Installer/main/genieacs-arch.sh | sudo bash
# Download and run the installer
curl -fsSL https://raw.githubusercontent.com/skydashnet/GenieACS-Auto-Installer/main/genieacs-ubuntu.sh | sudo bash
If you prefer to download and inspect the script first:
# Download the script
wget https://raw.githubusercontent.com/skydashnet/GenieACS-Auto-Installer/main/genieacs-arch.sh
# Make it executable
chmod +x genieacs-arch.sh
# Run with sudo
sudo ./genieacs-arch.sh
# Download the script
wget https://raw.githubusercontent.com/skydashnet/GenieACS-Auto-Installer/main/genieacs-ubuntu.sh
# Make it executable
chmod +x genieacs-ubuntu.sh
# Run with sudo
sudo ./genieacs-ubuntu.sh
The installer automatically sets up:
- MongoDB 6.0 (preferred) with official repositories
- Redis/Valkey as fallback for compatibility
- GenieACS v1.2.13 via npm
- CWMP Server (Port 7547)
- NBI API (Port 7557)
- File Server (Port 7567)
- Web UI (Port 3000 or custom)
- Dedicated
genieacs
system user - SystemD service files with auto-restart
- UFW firewall rules
- Log rotation and directory structure
Username: admin
Password: admin
- Web UI: 3000 (customizable during install)
- CWMP: 7547
- NBI: 7557
- File Server: 7567
# Check all services
sudo systemctl status genieacs-{cwmp,nbi,fs,ui}
# View real-time logs
sudo journalctl -u genieacs-ui -f
# Restart a service
sudo systemctl restart genieacs-ui
# Stop all services
sudo systemctl stop genieacs-{cwmp,nbi,fs,ui}
# Start all services
sudo systemctl start genieacs-{cwmp,nbi,fs,ui}
# Check service status
sudo systemctl status genieacs-ui
# Check detailed logs
sudo journalctl -u genieacs-ui --no-pager
# Check configuration
cat /opt/genieacs/genieacs.env
# Check if port is open
sudo ufw status
# Verify service is listening
sudo netstat -tlnp | grep :3000
# Check firewall rules
sudo iptables -L
# For MongoDB
sudo systemctl status mongod
mongosh --eval "db.runCommand({connectionStatus: 1})"
# For Redis
sudo systemctl status redis-server
redis-cli ping
- Edit the environment file:
sudo nano /opt/genieacs/genieacs.env
- Update the port:
GENIEACS_UI_PORT=8080
- Update firewall and restart:
sudo ufw allow 8080/tcp
sudo systemctl restart genieacs-ui
Place your custom extensions in:
/opt/genieacs/ext/
- Change default admin credentials after first login
- Consider setting up SSL/TLS for production use
- Review firewall rules for your network requirements
- Regularly update GenieACS and system packages
For high-traffic deployments, consider:
- Increasing Node.js memory limits
- Database optimization (indexes, memory allocation)
- Load balancing multiple GenieACS instances
- SSD storage for database operations
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch:
git checkout -b feature-name
- Make your changes and test thoroughly
- Submit a pull request with a clear description
This project is licensed under the MIT License - see the LICENSE file for details.
- GenieACS Project for the excellent TR-069 ACS
- The open-source community for continuous improvements
- Contributors who help maintain and enhance these scripts
If this helped you, please β star the repository!