Developing/Contributing to Hestia Control Panel

Follow the current guidelines



  • Existing previous Hestia installation (this will ensure everything is already installed)


Go into the src folder and run of these commands.


For building hestia-nginx / hestia-php packages at least 2 GB memory is required!

./ --hestia --install '~localsrc'

Compile Hestia + Hestia PHP / Hestia NGNIX and install

./ --all --install '~localsrc'
./ --hestia --noinstall --keepbuild '~localsrc'

Compile Hestia + Hestia PHP / Hestia NGNIX and install

./ --all --noinstall --keepbuild '~localsrc'

Install Hestia from packages

# Replace with if you want to test a test branch hosted that you created your self
git clone
cd ./hestiacp/

# Replace main with the branch you want to test
git checkout main

cd ./src/

# Compile packages
./ --all --noinstall --keepbuild '~localsrc'

cd ../install

bash hst-install-{os}.sh --with-debs /tmp/hestiacp-src/deb/

Any option can be appended to the installer command.

Update HestiaCP from Github

v-update-sys-hestia-git username branch install

Automated testing

For automated testing we currently use Bats (Bash Automated Testing System)


# Clone Hestia repo with testing submodules
git clone --recurse-submodules
# Or on existing local repo with up to date master branch
git submodule update --init --recursive

# Install Bats
test/test_helper/bats-core/ /usr/local



Do not run any testing script on an live server. It might cause issues or downtime!

# Run Hestia tests