gighiveThese are instructions to get up and running with Gighive for users with Docker already installed.
A running Docker installation.
Download the file:
curl -fL -O https://staging.gighive.app/downloads/gighive-one-shot-bundle.tgz
Download the sha:
curl -fL -O https://staging.gighive.app/downloads/gighive-one-shot-bundle.tgz.sha256
Validate the bundle integrity against the sha:
sha256sum gighive-one-shot-bundle.tgz
cat gighive-one-shot-bundle.tgz.sha256
The outputs should match (but don’t need to be the same sha, as the bundles are subject to change):
sodo@pop-os:~/gighive$ cat gighive-one-shot-bundle.tgz.sha256
d7d4d03adf70f5c023000a8a884355e9442d01a20b57fc2a45a69f50b6537500 gighive-one-shot-bundle.tgz
sodo@pop-os:~/gighive$ sha256sum gighive-one-shot-bundle.tgz
d7d4d03adf70f5c023000a8a884355e9442d01a20b57fc2a45a69f50b6537500 gighive-one-shot-bundle.tgz
Expected output: If verification matches, all good! If verification fails, do not continue. Re-download the bundle.
Expand the tarball
tar -xzf gighive-one-shot-bundle.tgz
OPTIONAL: GigHive sends the bare minimum of information for debugging purposes. If you do not want GigHive to send this minimal installation telemetry, edit gighive-one-shot-bundle/install.sh and set GIGHIVE_ENABLE_INSTALLATION_TRACKING to false before running ./install.sh.
Run the installer to install gighive
cd gighive-one-shot-bundle
./install.sh
During ./install.sh, you will be prompted to set BasicAuth passwords for the following users (written to apache/externalConfigs/gighive.htpasswd)
adminuploaderviewerValidate installation by performing the smoke tests below and accessing the URL in a browser.
Note that it will take a minute or two for mysqlServer and apacheWebServer containers to spinup fully.
install.sh sample runubuntu@gighive:~/gighive-one-shot-bundle$ ./install.sh
SITE_URL (example: https://192.168.1.230): https://192.168.1.252
BasicAuth password for user 'admin':
BasicAuth password for user 'uploader':
BasicAuth password for user 'viewer':
MYSQL_PASSWORD:
MYSQL_ROOT_PASSWORD:
Wrote:
- apache/externalConfigs/.env
- mysql/externalConfigs/.env.mysql
Bringing stack up...
[+] Building ... FINISHED
[+] up ...
✔ Network gighive-one-shot-bundle_default Created
✔ Volume gighive-one-shot-bundle_mysql_data Created
✔ Volume gighive-one-shot-bundle_tusd_data Created
✔ Volume gighive-one-shot-bundle_tus_hooks Created
✔ Container apacheWebServer Created
✔ Container mysqlServer Created
✔ Container apacheWebServer_tusd Created
Done.
Next checks:
- docker compose ps
- docker compose logs -n 200 mysqlServer
- docker compose logs -n 200 apacheWebServer
docker compose ps outputNAME IMAGE COMMAND SERVICE STATUS PORTS
apacheWebServer ubuntu-apache-img:1.00 "/entrypointapache.sh" apacheWebServer Up ... 0.0.0.0:443->443/tcp
apacheWebServer_tusd tusproject/tusd:latest "/usr/local/share/do…" tusd Up ... 8080/tcp
mysqlServer mysql:8.4 "docker-entrypoint.s…" mysqlServer Up ... 0.0.0.0:3306->3306/tcp
Replace 192.168.1.252 with your host IP.
curl -kI https://192.168.1.252/
curl -kI https://192.168.1.252/db/database.php
curl -kI https://viewer:secretviewer@192.168.1.252/db/database.php
Example: https://192.168.1.252/
Note you will get a security warning because the certificate is self-signed.
If you see HTTP 500 after BasicAuth, check:
docker compose logs -n 200 apacheWebServer
docker compose exec apacheWebServer bash -lc 'tail -n 200 /var/log/apache2/error.log'
Use this when you want to restart from a known-clean state during testing.
cd ~/gighive-one-shot-bundle
# Stop and remove containers, networks, and named volumes
docker compose down --volumes --remove-orphans
# Optional: remove the locally built apache image so the next install rebuilds from scratch
docker image rm ubuntu-apache-img:1.00
# Optional: remove bundle-created host dirs (only if you are OK losing local contents)
rm -rf ./mysql/dbScripts/backups ./_host_audio ./_host_video
# Sanity checks
docker compose ps
docker ps | egrep 'apacheWebServer|mysqlServer|apacheWebServer_tusd' || true
# Remove gighive-one-shot-bundle directory
cd ..
sudo rm -rf ~/gighive-one-shot-bundle
Regenerate apache/externalConfigs/gighive.htpasswd and restart the apache container:
docker compose restart apacheWebServer