Installation
Install Veqsio on your own server with one command: requirements, HTTPS with your domain, installer options, first steps and tested platforms.
One command
On a clean Linux server, run:
curl -fsSL https://raw.githubusercontent.com/workizon/veqsio/master/install.sh | sudo bash
The installer is idempotent. It checks the operating system, CPU, memory and disk; installs git, curl, openssl and Docker with the Compose plugin when they are missing; downloads Veqsio to /opt/veqsio; generates every secret; builds the images; applies the database migrations; creates the first administrator (a random password, printed once at the end); and starts PostgreSQL, Redis, the API, the web app, an internal router and Caddy. Only Caddy listens on a public port; the databases are never exposed.
Requirements
- Ubuntu, Debian or a RHEL-family system (Rocky, Alma, CentOS Stream, Fedora, Amazon Linux), x86_64 or arm64.
- About 2 GB of RAM (the web build is memory hungry;
--swapadds a 2 GB swap file on smaller servers), 10 GB of disk, root access. - Ports 80 and 443 reachable. For HTTPS with your own domain, its DNS record must already point at the server.
With your own domain
Caddy gets and renews a Let’s Encrypt certificate automatically:
curl -fsSL https://raw.githubusercontent.com/workizon/veqsio/master/install.sh \
| sudo bash -s -- --domain support.example.com --email [email protected]
Without --domain the installer serves plain HTTP on the server’s IP address, which is fine for a trial.
Options
| Option | What it does |
|---|---|
--domain, --email | Public host name (enables HTTPS) and the address for certificate expiry notices. |
--dir | Install directory (default /opt/veqsio). |
--ref | Git branch or tag to install (default master). |
--http-port, --https-port | Public ports, if 80 and 443 are taken. |
--admin-email, --admin-password | The first administrator. The password needs 12 or more characters; without it a random one is generated. |
--license-key | An Enterprise licence key. It unlocks the licensed modules; you can also paste it later in Administration → System → Licence. |
--demo-data | Fills a new installation with sample users, projects and issues (all users share the password demo12345). Never use it on a real instance. |
--swap | Creates a 2 GB swap file on servers with less than 2 GB of RAM and no swap. |
--dry-run | Prints what would be done; only writes the .env and the Caddyfile. |
install.sh --help lists everything.
After the install
- Sign in with the administrator printed at the end of the install and change the password.
- Configure the mail server in Administration → System, so that notifications and the customer portal can send e-mail.
- Set up backups (see Upgrading & backups) and keep
SECRETS_ENCRYPTION_KEYfrom.envsomewhere safe. - Import your data with the Jira migration tools, or start from a project template.
Tested platforms
The installer was run end to end on clean servers (2 vCPU, 4 GB RAM, x86_64) on 13 November 2026:
| OS | Result |
|---|---|
| Ubuntu 24.04 | passed |
| Debian 12 | passed |
| Rocky Linux 9.8 | passed |
On each one the install, a re-run, a reboot, the health and sign-in checks, the published ports (only 22, 80 and 443) and creating an issue through the API passed. A first install builds the images on the server and takes about five minutes. Not tested yet: arm64, Ubuntu 22.04, a custom domain with Let’s Encrypt, upgrading from an older release, and the other RHEL-family systems (accepted by the installer, but not run).