Developing/Contributing to Hestia Control Panel¶
Follow the current guidelines
Note
Are you following any tutorial regarding ARM + Hestia please use the normal install method. Since 1.5.0 we have added ARM packages to our apt server! For current active installs To enable updates please remove the # in /etc/apt/sources.list/hestia and then run apt update && apt upgrade
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¶
# Replace with https://github.com/username/hestiacp.git if you want to test a test branch hosted that you created your self
git clone https://github.com/hestiacp/hestiacp.git
cd ./hestiacp/
# Replace main with the branch you want to test
git checkout main
cd ./src/
# 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
Sometimes dependencies will get added or removed as the pakages are installed with dpkg it is not possible to "preload" the dependencies.
In that case you will see an error like:
dpkg: error processing package hestia (–install):
dependency problems - leaving unconfigured
To solve this issue run:
apt-get install -f
To resolve the issue with missing packages. After that run v-update-sys-hestia-git username branch again
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