NEXIA Switch installs complete — Kamailio, FreeSWITCH, rtpengine, PostgreSQL, Redis, the compiled core and the panel — with a single command, on a clean server.
Requirements
- Ubuntu 24.04 LTS freshly installed (no other SIP software or prior web panels).
- Public IPv4 address. Recommended minimum: 2 vCPU and 4 GB of RAM.
- Root access (direct or via
sudo).
The three steps
apt update && apt -y upgrade
curl -fsSLO https://raw.githubusercontent.com/nexiaswitch-ux/Nexia-Switch/main/install.sh
sudo bash install.sh
Typical duration: 15–25 minutes. The longest phase is compiling FreeSWITCH
(the installer warns you). Full detail is kept in /var/log/nexia-install.log.
The installer verifies the package's Ed25519 signature against a pinned
key before touching your server, and it is idempotent: if something fails, fix the cause
and run it again — completed phases are not repeated. To audit it first:
less install.sh (quit with q).What each phase does
| Phase | What it leaves |
|---|---|
| 00 Preflight | Checks OS, resources, public IP, DNS, free ports. |
| 01–02 Hardening | System up to date, hardened SSH, default-deny firewall (only 22, 80, 443, 5060/5061 and RTP). |
| 03–07 Stack | PostgreSQL and Redis on loopback only; Kamailio as the SIP edge; rtpengine for media; FreeSWITCH never exposed. |
| 08–09C App and core | Web panel, data schema, and the compiled core (routing and rating) verified against its signed MANIFEST. |
| 10–13 Production | Nginx + TLS (Let's Encrypt), fail2ban, anti-fraud with risky destinations blocked, daily backups. |
| 14–15 Verification | Everything starts up, security checks, and the summary with your credentials. |
When it finishes
- The final summary shows the panel URL (https://YOUR-IP/), user
adminand the generated password. - Credentials are also left in
/var/lib/nexia/credentials.txt— copy them somewhere safe and delete the file (shred -u). - Verify the install:
bash /opt/nexia-switch/installer/verify.sh --security - Continue with activating your free licence.