Developing/Contributing to Hestia Control Panel

Follow the current guidelines

Checklist

Recommended:

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

Compiling

Go into the src folder and run of these commands.

Note

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

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

Compile Hestia + Hestia PHP / Hestia NGNIX and install

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

Compile Hestia + Hestia PHP / Hestia NGNIX and install

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

Install Hestia from packages

# Compile packages
./hst_autocompile.sh --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)

Install

# Clone Hestia repo with testing submodules
git clone --recurse-submodules https://github.com/hestiacp/hestiacp
# Or on existing local repo with up to date master branch
git submodule update --init --recursive

# Install Bats
test/test_helper/bats-core/install.sh /usr/local

Run

Warning

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

# Run Hestia tests
test/test.bats