Skip to content

skydashnet/GenieACS-Auto-Installer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

37 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ GenieACS Auto Installer

Automated GenieACS installation scripts for Linux distributions

License GitHub stars GitHub forks Issues


✨ Features

  • 🎯 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

πŸ–₯️ Supported Systems

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 ⚠️ Experimental genieacs-ubuntu.sh

πŸš€ Quick Start

For Arch Linux / EndeavourOS

# Download and run the installer
curl -fsSL https://raw.githubusercontent.com/skydashnet/GenieACS-Auto-Installer/main/genieacs-arch.sh | sudo bash

For Ubuntu / Debian

# Download and run the installer
curl -fsSL https://raw.githubusercontent.com/skydashnet/GenieACS-Auto-Installer/main/genieacs-ubuntu.sh | sudo bash

πŸ› οΈ Manual Installation

If you prefer to download and inspect the script first:

Arch Linux / EndeavourOS

# 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

Ubuntu / Debian

# 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

πŸ“‹ What Gets Installed?

The installer automatically sets up:

πŸ—„οΈ Database Layer

  • MongoDB 6.0 (preferred) with official repositories
  • Redis/Valkey as fallback for compatibility

🌐 GenieACS Components

  • GenieACS v1.2.13 via npm
  • CWMP Server (Port 7547)
  • NBI API (Port 7557)
  • File Server (Port 7567)
  • Web UI (Port 3000 or custom)

πŸ”§ System Configuration

  • Dedicated genieacs system user
  • SystemD service files with auto-restart
  • UFW firewall rules
  • Log rotation and directory structure

πŸŽ›οΈ Configuration

Default Credentials

Username: admin
Password: admin

Default Ports

  • Web UI: 3000 (customizable during install)
  • CWMP: 7547
  • NBI: 7557
  • File Server: 7567

Service Management

# 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}

πŸ” Troubleshooting

Service Won't Start?

# 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

Can't Access Web UI?

# Check if port is open
sudo ufw status

# Verify service is listening
sudo netstat -tlnp | grep :3000

# Check firewall rules
sudo iptables -L

Database Connection Issues?

# For MongoDB
sudo systemctl status mongod
mongosh --eval "db.runCommand({connectionStatus: 1})"

# For Redis
sudo systemctl status redis-server
redis-cli ping

🎨 Customization

Change UI Port After Installation

  1. Edit the environment file:
sudo nano /opt/genieacs/genieacs.env
  1. Update the port:
GENIEACS_UI_PORT=8080
  1. Update firewall and restart:
sudo ufw allow 8080/tcp
sudo systemctl restart genieacs-ui

Custom Extensions

Place your custom extensions in:

/opt/genieacs/ext/

πŸ” Security Considerations

  • 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

πŸ“Š Performance Tuning

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

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Quick Contribution Guide

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Make your changes and test thoroughly
  4. Submit a pull request with a clear description

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

  • 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!

Contributors 2

  •  
  •  

Languages