HiPanel is split into 4 separate applications:
- hiapi hiapi.demo.hipanel.com
- hiam hiam.demo.hipanel.com
- hipanel hipanel.demo.hipanel.com
- hisite hisite.demo.hipanel.com
To have working system it is necessary to have them all up and running.
- Edit
/etc/hosts, see recommended hosts and IPs - Environment install
- Setup nginx proxy with nginx-proxy-common for
127.0.0.2 git clonein a proper directory, see recommended dirscomposer update --ignore-platform-req="ext-*"- Make symlinks, see below (to be moved in hidev deploy)
- Allow access to docker volume, see below (to be moved in hidev deploy)
- Tweak
.env(optional, should not be needed) - Chmod for runtime & public/assets
docker-compose up -d(create all required networks and volumes with commands that docker will suggest)- Setup database, see below
- PHP install & all needed extensions
sudo apt install php7.4 - Composer install
curl -sS https://getcomposer.org/installer -o composer-setup.php - Docker install
sudo apt install docker - Docker-compose install
sudo apt install docker-compose - JDK install
sudo apt install default-jre(for - local testing)
Add recommended host names and IPs for local installation to /ets/hosts:
127.0.0.2 local.hiapi.demo.hipanel.com
127.0.0.2 local.hiam.demo.hipanel.com
127.0.0.2 local.hipanel.demo.hipanel.com
127.0.0.2 local.hisite.demo.hipanel.comThese IPs are registered in .env.local files, so if you change them be sure
to change there too.
Recommended dirs are:
~/prj/hiqdev/hipanel.demo.hipanel.com~/prj/hiqdev/hiam.demo.hipanel.com~/prj/hiqdev/hiapi.demo.hipanel.com- and so on
All root repositories contain .env.local.
All core repositories contain docker-compose.yml.local.
These files are thoroughly prepared and ready to use.
It is only necessary to symlink them:
ln -s .env.local .env
ln -s core/docker-compose.yml.local docker-compose.ymlProvide read, write and execute for runtime & public/assets in hipanel, hiapi, hiam
chmod 777 runtime
chmod 777 public/assets
Yes. For production installation you just need to use .dist versions.
Find docker volume mountpoint with inspect command and then chmod it with a+w.
Also chmod +x all path. Like this:
API_VAR_DIR=$(docker volume inspect var-hiapi.demo.hipanel.com -f '{{json .Mountpoint}}')
sudo chmod a+w $API_VAR_DIR
sudo chmod a+x $(dirname $API_VAR_DIR)
sudo chmod a+x $(dirname $(dirname $API_VAR_DIR))
unset API_VAR_DIRDatabase is run in hiapi docker compose.
To setup database run on a freshly started hiapi docker compose:
docker-compose exec php-fpm /app/vendor/bin/hidev migrate/upTo reset database reset container:
docker-compose down
docker-compose up -dAnd migrate again.
See Testing manual.
Long story short:
In hiapi dir:
docker-compose exec php-fpm /app/vendor/bin/phpunitIn hipanel dir:
codecept run -f -vvv --debugAfter server's reboot you have to clear temp data in '''hipanel.demo.hipanel.com'''
'''rm -rf tests/_data/*'''