Getting Started
Script status
If you are upgrading from v1.5.x or earlier, it is recommended to either upgrade from CLI or run the upgrade twice in the web UI to ensure all components are properly updated.
How to install
Hardware requirement
- CPU: At least a 64bit Compatible x86_64 CPU
- RAM: large than 1GB (recommend more for better performance)
- Storage: 20GB HDD (for seeding, you need more)
OS Support (amd64 only):
Xenial/Bionic and Stretch have been removed from the master branch, please install through legacy branch. if quickbox lite was installed, it will automatically switch to the legacy branch after the upgrade.
Server Support
- Bare-metal server
- Dedicated server
- VPS with KVM/Xen/VMware (OpenVZ is not supported)
grsec is built into OVH's custom kernel and it absolutely wrecks havoc when using these panels where we depend on the ability for one user (www-data) to see the processes of another running user ($username). This can be seen clearly by using a task manager such as htop. With grsec enabled you can only see the processes owned by your user unless you run htop as root. As such, it is highly recommended to use the stock kernel for your distribution or at the very least installing an OVH kernel that is not compiled with grsec If you are using So You Start (SYS) as a host, you should opt to use the distribution kernel. You will see this as a check box option when installing your server. Otherwise, QuickBox will handle this for you on install.
One-key Install mode
You must be logged in as root to run this installation.
One-key install is available since version 1.3.3:
- curl
- wget
bash <(curl -sLo- https://git.io/qbox-lite) COMMAND
bash <(wget -qO- https://git.io/qbox-lite -o /dev/null) COMMAND
Want to run in development mode?:
- curl
- wget
bash <(curl -sLo- https://git.io/qbox-lite) --dev COMMAND
bash <(wget -qO- https://git.io/qbox-lite -o /dev/null) --dev COMMAND
Now, it has following arguments:
QuickBox Lite Setup Script
Usage: bash setup.sh -u username -p password [OPTS]
Options:
NOTE: * is required anyway
-d, --domain <domain> setup domain for server
-H, --hostname <hostname> setup hostname, make no change by default
-P, --port <1-65535> setup ssh service port, use 4747 by default
-u, --username <username*> username is required here
-p, --password <password*> your password is required here
-r, --reboot reboot after installation finished (default no)
-s, --source <us|au|cn|fr|de|jp|ru|uk|tuna>
choose apt source (default unchange)
-t, --theme <defaulted|smoked> choose a theme for your dashboard (default smoked)
--tz,--timezone <timezone> setup a timezone for server (e.g. GMT-8 or Europe/Berlin)
--lang <en|zh> choose a TUI language (default english)
--with-log,no-log install with log to file or not (default yes)
--with-ftp,--no-ftp install ftp or not (default yes)
--ftp-ip <ip address> manually setup ftp ip
--with-bbr,--no-bbr install bbr or not (default no)
--with-cf use cloudflare instead of github
--with-sf use sourceforge instead of github
--with-osdn use osdn(jp) instead of github
--with-github use github
--auth-provider <none|authelia|vouchproxy>
choose dashboard auth provider (default none)
--auth-mode <password|mfa|passwordless>
choose Authelia auth mode (default password)
--admin-email <email> Authelia admin email
--smtp-host <host> Authelia SMTP host
--smtp-port <port> Authelia SMTP port
--smtp-username <user> Authelia SMTP username
--smtp-password <password> Authelia SMTP password
--smtp-sender <email> Authelia SMTP sender email
--oidc-auth-url <url> Vouch Proxy OIDC authorize URL
--oidc-token-url <url> Vouch Proxy OIDC token URL
--oidc-userinfo-url <url> Vouch Proxy OIDC userinfo URL
--oidc-client-id <id> Vouch Proxy OIDC client id
--oidc-client-secret <secret> Vouch Proxy OIDC client secret
--oidc-end-session-endpoint <url>
Vouch Proxy optional logout endpoint
--oidc-user <user> OIDC user allowed to access local admin
--oidc-user-map <csv> OIDC usernames mapped to local admin
--oidc-email-domains <csv> allowed OIDC email domains
--with-APPNAME install an application
--qbittorrent-version specify the qBittorrent version
--deluge-version specify the Deluge version
--qbit-libt-version specify the Libtorrent version for qBittorrent
--de-libt-version specify the Libtorrent version for Deluge
--rtorrent-version specify the rTorrent version
--transmission-version specify the Transmission version
Available applications:
rtorrent | rutorrent | flood | transmission | qbittorrent
deluge | mktorrent | ffmpeg | filebrowser | linuxrar
-h, --help display this help and exit
The username and the password is required anyway, or the TUI install method will start. The other arguments are the same function as in TUI. Here is a example:
bash <(wget -qO- https://git.io/qbox-lite -o /dev/null) -u demouser -p demo123456 --with-ffmpeg -P 1234 --with-bbr --with-deluge --with-mktorrent --with-linuxrar --with-cf --hostname vmserver --reboot
It means: The username being set to demouser, password is demo123456, use 1234 as ssh port, install BBR, deluge, mktorrent, linuxrar. The mirror for deb package in Cloudflare will be used for installation. Change the hostname to vmserver. The server will be automaticly restart after installation.
To install with Authelia authentication (MFA with TOTP):
bash <(wget -qO- https://git.io/qbox-lite -o /dev/null) -u demouser -p demo123456 --auth-provider authelia --auth-mode mfa --admin-email [email protected] --with-deluge --hostname seedbox --reboot
To install with Vouch Proxy authentication (OIDC/OAuth2):
bash <(wget -qO- https://git.io/qbox-lite -o /dev/null) -u demouser -p demo123456 --auth-provider vouchproxy --oidc-client-id xxx --oidc-client-secret yyy --oidc-auth-url https://idp.example.com/oauth/authorize --oidc-token-url https://idp.example.com/oauth/token --oidc-userinfo-url https://idp.example.com/oauth/userinfo --with-qbittorrent --reboot
TUI install
Run the following command to grab our latest stable release ...
apt-get -yqq update; apt-get -yqq upgrade; apt-get -yqq install git lsb-release dos2unix; \
git clone https://github.com/amefs/quickbox-lite.git /etc/QuickBox; \
dos2unix /etc/QuickBox/setup.sh; \
bash /etc/QuickBox/setup.sh
Want to run in development mode?
Run the following command to grab current development repos ...
mkdir /install/ && touch /install/.developer.lock; \
apt-get -yqq update; apt-get -yqq upgrade; apt-get -yqq install git lsb-release dos2unix; \
git clone --branch "development" https://github.com/amefs/quickbox-lite.git /etc/QuickBox; \
dos2unix /etc/QuickBox/setup.sh; \
bash /etc/QuickBox/setup.sh
Already have QuickBox installed and want to switch over to development?
EASY! Run the following command to grab current development repos ...
mkdir /install/ && touch /install/.developer.lock; \
sudo box update quickbox
In v1.4.6 and above, you can swith to development mode with box enable-dev.
Kickstart Config Mode
Kickstart config mode allows you to automate QuickBox installation with pre-configured settings from a JSON file or HTTPS URL. This is useful for unattended installations or replicating configurations across multiple servers.
Generate a kickstart config from TUI
You can generate a config file by running setup interactively with --generate-config:
bash /etc/QuickBox/setup.sh -u demouser -p demo123456 --with-qbittorrent --with-deluge --auth-provider authelia --auth-mode mfa --admin-email [email protected] --generate-config --config-output /root/quickbox-kickstart.json
This creates a /root/quickbox-kickstart.json file with all your settings.
Load from a local file
Once you have a kickstart config file, install using:
bash /etc/QuickBox/setup.sh --config /root/quickbox-kickstart.json
Load from a remote HTTPS URL
You can also load configuration from a remote URL:
bash /etc/QuickBox/setup.sh --config https://example.com/quickbox-kickstart.json --skip-summary
Remote configs must use HTTPS by default. For testing on local/trusted networks, use --allow-http-config. Always treat kickstart files as secrets—they can contain plaintext passwords, SMTP credentials, and OIDC client secrets. Restrict file permissions with chmod 600.
Kickstart JSON structure
Kickstart JSON can store:
- Basic installation settings (username, password, domain, hostname, SSH port)
- Package selections (application list)
- Auth provider configuration (Authelia mode, SMTP settings, or Vouch Proxy OIDC settings)
- Server options (BBR, swap, timezone)
- System settings (reboot, CDN mirror, Let's Encrypt domain)
For kickstart configuration examples, see the FAQ section.
Installed Features
- pureftp - vsftp (CuteFTP multi-segmented download friendly)
- SSH Server (for SSH terminal and sFTP connections)
- Web Console (ttyd)
- QuickBox Dashboard
Available software
Available when setup
- rTorrent
- ruTorrent
- flood
- Transmission
- qBittorrent
- Deluge
- mktorrent
- FFmpeg
- Linux RAR
- File Browser
- BBR
Available in dashboard
- Autodl-irssi
- BTSync
- CIFS
- Emby
- FlexGet (both 2.x and 3.x)
- Jellyfin
- Netdata
- NFS
- noVNC
- Plex
- Peerbanhelper
- qBittorrent-Clientblocker
- Rclone
- SABnzbd
- Syncthing
- Speedtest
- WebDAV
- x2Go
Available in CLI
- autoremove-torrents
- Denyhosts
- Fail2ban
- h5ai
- Let's Encrypt
- OpenVPN
- ZNC
Have trouble with QuickBox Lite
If you still have questions about the QuickBox Lite or need to report bugs, be sure to read the Wiki first. When you still have trouble with it, please assign an issue here, I will try my best to help you.