Free VICIdial installer
VICIdial scratch install in one command
A VICIdial scratch install builds VICIdial yourself on a plain Linux server, instead of from the ViciBox ISO. This installer does every step in one command: stock VICIdial from its official SVN, Asterisk 22 with every security fix the 22 branch has had, PHP 8.3, your own domain with a certificate that renews itself, a firewall, and a campaign with fronters and closers who can log in straight away.
Tested on Ubuntu 24.04 and 22.04, Debian 12, Rocky Linux 9 and AlmaLinux 9, last on 3 November 2026. Free and open source under the GPL. Built and used by the VICIfast team.
- from paste to a working dialer, measured on 4-core servers
- 3–4 min
- systems tested: Ubuntu 22.04 and 24.04, Debian 12, Rocky and AlmaLinux 9
- 5
- Asterisk security fixes on top of the official 22.5.1
- 26
Configure
Pick your options, copy the command
The defaults are a server ready for a floor: the firewall, the production fixes, dial-level control, and the initial setup with 10 fronters and 5 closers. Change any of them; Advanced has the rest. The install key is free: confirm your email to get one.
Included by default
On Ubuntu 24.04
about 4 minutes
- 1
Get your install key
Keys are given out one an hour.
Next key in 33:43
Free. One key per email and one key an hour; each key installs one server, the first one that uses it.
- 2
If the server has no curl yet
apt-get update && apt-get install -y curl - 3
Run the installer as root
curl -fsSL https://downloads.vicifast.com/vicidial-installer/install.sh | sudo bash -s -- \ --key YOUR-INSTALL-KEY \ --with-fixes \ --initial-setup \ --fronters 10 \ --closers 5Rather read the script before it runs?
curl -fsSLO https://downloads.vicifast.com/vicidial-installer/install.sh less install.sh sudo bash install.sh --key YOUR-INSTALL-KEY --with-fixes --initial-setup --fronters 10 --closers 5
When it finishes
- Admin: https://SERVER-IP/vicidial/admin.php, user 6666
- Passwords: /root/vicifast-credentials.txt, the agents’ too
- Agents: https://SERVER-IP/agc/vicidial.php, campaign TESTCAMP, user and password only
- Everything at a glance: vicifast status
By operating system
VICIdial scratch install on Ubuntu, Debian, Rocky Linux and AlmaLinux
The same command on every system; what differs is where PHP and MariaDB come from and what each system needs fixing for VICIdial. Each system has its own page with the details, its measured time and the command ready for it. RHEL 9 and Oracle Linux 9 take the Rocky Linux path.
VICIdial scratch install on Ubuntu 24.04
4m 24s measured. PHP 8.3 from Ubuntu’s own archive, MariaDB 10.11, Apache with mod_php.
The Ubuntu 24.04 installVICIdial scratch install on Ubuntu 22.04
4m 15s measured. PHP 8.3 from the ondrej/php PPA (Ubuntu 22.04 ships 8.1), MariaDB 10.6, Apache with mod_php.
The Ubuntu 22.04 installVICIdial scratch install on Debian 12
3m 20s measured. PHP 8.3 from packages.sury.org (Debian 12 ships 8.2), MariaDB 10.11, Apache with mod_php.
The Debian 12 installVICIdial scratch install on Rocky Linux 9
4m 20s measured. PHP 8.3 from AppStream, MariaDB 10.11 from AppStream, Apache with PHP-FPM.
The Rocky Linux 9 installVICIdial scratch install on AlmaLinux 9
4m 03s measured. PHP 8.3 from AppStream, MariaDB 10.11 from AppStream, Apache with PHP-FPM.
The AlmaLinux 9 installVICIdial scratch install on RHEL 9 and Oracle Linux 9
The Rocky Linux 9 path. RHEL 9 needs an active subscription for CodeReady Builder; Oracle Linux 9 uses its own EPEL and CodeReady Builder.
The Rocky Linux 9 installWhat you get
Stock VICIdial, set up the way a production floor needs it
VICIdial itself is not modified, apart from a recording bug on new Asterisk and the optional dial-level bar. The installer does the work its documentation leaves to whoever installs it.
Asterisk 22, patched
The official 22.5.1 plus the 26 security fixes released for the 22 branch, PJSIP only, ConfBridge conferences, Opus for browser phones and G.729. Prebuilt per system and checked against a pinned checksum, or compiled on the server if you prefer.
VICIdial as it ships
From VICIdial’s official SVN at a tested revision, installed by its own install.pl, with its own crontab and services. Recordings fixed for Asterisk 21 and newer.
Your domain, a real certificate
Let’s Encrypt, ZeroSSL when Let’s Encrypt refuses, and an hourly retry until one issues. Apache, the WebRTC socket and VICIdial all read it, and it renews itself.
A firewall that knows VICIdial
Default deny, with the allow and block lists kept in VICIdial’s own IP Lists. Optional agent sign-in portal, like ViciBox’s, and the VoIPBL list of known SIP scanners.
Dial level from the report
A bar on the Real-Time Main Report sets a RATIO campaign’s dial level, with the same permissions as the campaign page. Every change lands in VICIdial’s admin log.
Sized to the server
MariaDB, PHP and Apache sized to its memory and cores. Optional InnoDB for the 8 busiest tables and 13 fixes measured on busy floors.
Ready for phones
Browser phones over WSS on port 8089, a phone template that works, random passwords for the admin, phones and AMI, and the time zone set everywhere VICIdial looks.
Resumes and checks itself
Stopped by a network blip? Run it again and it carries on from the stage that failed. A self-test checks the finished server end to end.
A floor to log in to
On by default: VICIdial’s System Settings as VICIfast runs them, campaign TESTCAMP and in-group Inbound_Queue, and fronters and closers with browser phones who log in with a user and a password.
Commands for afterwards
Six commands for certificates, the domain, time zone, firewall, sizing and VICIdial upgrades, and vicifast status to see it all at once.
Install time
How long it takes, measured
From the start of the install to a working dialer, on a fresh 4 vCPU / 8 GB cloud server with every option on, last measured on 3 November 2026. Compiling Asterisk on the server instead adds up to 3 minutes.
| System | Install | Comes with |
|---|---|---|
| Ubuntu 24.04 | 4m 24s | PHP 8.3, VICIdial r4035 |
| Ubuntu 22.04 | 4m 15s | PHP 8.3, VICIdial r4035 |
| Debian 12 | 3m 20s | PHP 8.3, VICIdial r4035 |
| Rocky Linux 9 | 4m 20s | PHP 8.3, VICIdial r4035 |
| AlmaLinux 9 | 4m 03s | PHP 8.3, VICIdial r4035 |
| RHEL 9 | ≈4m 20sRocky’s path, not timed | PHP 8.3, VICIdial r4035 |
| Oracle Linux 9 | ≈4m 20sRocky’s path, not timed | PHP 8.3, VICIdial r4035 |
After the install
One command for each thing you will change later
Each shows its usage with --help. Anything that restarts VICIdial refuses while agents are logged in or calls are up, unless you add --force.
| vicifast status | Certificate, domain, time zone, firewall, sizing and VICIdial revision at a glance. |
| vicifast ssl issue --domain NAME | A certificate for NAME: Let’s Encrypt, then ZeroSSL. --ca zerossl for ZeroSSL only. |
| vicifast ssl renew | Renew now; renewal is automatic anyway, twice a day. --dry-run to test it. |
| vicifast domain set NAME | Move the dialer to a new name: certificate, web site, WebRTC socket, recording links, portal. |
| vicifast timezone set ZONE | OS, MariaDB, PHP and VICIdial’s local_gmt. --restart to apply it now. |
| vicifast firewall allow IP | Allow a carrier, office or desk phone. Also block, remove, list, mode, voipbl on. |
| vicifast tune --apply | Size MariaDB, PHP and Apache to the hardware again, after a resize. |
| vicifast upgrade --rev latest | A newer VICIdial revision: backup, schema upgrade, the installer’s changes put back, restart. |
Docs
Requirements, options and firewall modes
Requirements
- A fresh x86_64 server: Ubuntu 22.04 or 24.04, Debian 12, or Rocky, AlmaLinux, RHEL or Oracle Linux 9. It refuses a server that already has VICIdial.
- 2 GB of memory to try it, 8 GB or more for a floor; 2 or more cores; 40 GB of disk.
- A public IPv4 address. Behind NAT, forward UDP 5060 and 10000–20000 and TCP 80, 443 and 8089.
- For a domain: its A record pointing at the server before you start, and port 80 open (the certificate check uses it).
- RHEL needs an active subscription, for its CodeReady Builder repository.
Firewall modes
- basic
- Web, WebRTC phones and media open to everyone; SIP and IAX2 only from the allow list. The default.
- dynamic
- Web, phones, SIP and IAX2 only from the allow list and from agents who signed in on the portal at port 446, for 24 hours (adjustable). Media stays open.
- off
- No firewall, for a server behind one of your own.
Every option
- --domain NAME
- The dialer’s hostname; its A record must already point at the server. Without it: the IP and a self-signed certificate.
- --email ADDRESS
- Contact for the certificate authority; also turns on the ZeroSSL fallback.
- --timezone ZONE
- IANA zone, default America/New_York. VICIdial enforces calling hours against it.
- --firewall basic|dynamic|off
- The firewall mode (see above).
- --sip-allow CIDR
- Addresses or networks for the allow list, comma-separated: your carrier, offices.
- --engine myisam|innodb
- myisam is stock; innodb moves the 8 busiest tables.
- --with-fixes
- The 13 production fixes.
- --no-dial-level
- Leave the Real-Time Main Report stock, without the dial-level bar.
- --initial-setup
- System Settings as VICIfast runs them, TESTCAMP (ratio), Inbound_Queue, and the fronters and closers it asks for, each with a browser phone.
- --fronters N / --closers N
- How many of each, without asking. Closers default to one for every two fronters.
- --build-asterisk
- Compile Asterisk on the server instead of using the prebuilt one.
- --php 8.3|7.4
- Ubuntu/Debian: PHP 8.3 with VICIdial r4035 (the default), or 7.4 with r4032.
- --vicidial-rev N
- Another VICIdial SVN revision than the tested default.
- --test-cert
- A certificate from Let’s Encrypt’s staging service, for trial installs.
- --skip-dns-check
- Install before DNS is ready; add the certificate later.
- --yes
- Don’t ask before starting.
If it stops
Fix the cause (a mirror down, the network) and run the same command again: it resumes at the stage that failed, with the same passwords and options. The full log is /var/log/vicifast-install.log.
Rather do it by hand?
Every step of a scratch install, explained, for each system:
Check a finished server
vicifast status shows the certificate, domain, time zone, firewall, sizing and VICIdial revision. The self-test in the installer’s folder, tests/verify.sh, checks services, Asterisk, passwords, TLS and the firewall end to end.
Rather not run it yourself?
VICIfast runs the same VICIdial for you
The hosted servers start from this stock install and add what a call center would otherwise build or buy, on every plan, the free trial included.
- White label. your own domain and certificate, branded agent screen, login page, webphone and firewall portal
- Mobile agent app. free on every server (Android now; iPhone in development)
- Monitoring. live and floor monitoring with listen, whisper and barge, with no charge per supervisor
- Security. nightly scans, and patches installed at night only while no agent is logged in, without a reboot
- Backups. to your own S3-compatible bucket or SFTP server, plus daily platform backups as an add-on
- Tools. a setup wizard, a lead loader, audio with text-to-speech, trunk failover, and a migration tool for ViciBox
Help when you want it
Clusters, migrations and custom work
VICIdial clusters
A database and web server, two or more dialers and a standby database on dedicated machines, built and run for you.
MoreManaged Floor
A named VICIdial engineer runs your dialing operation.
MoreMigrations
From ViciBox and other VICIdial servers, with your data.
MoreCustom development
VICIdial changes and integrations, quoted at a fixed fee.
MoreFAQ
Questions, answered straight
Need a migration from another host or a custom contract? Talk to VICIfast.