gighiveThese are instructions to get up and running with Gighive for users with Docker already installed.
Where to install: GigHive can be installed in any directory where you have write access. Your home directory (
~) is the simplest choice and requires no elevated permissions — but/opt,/srv, or any other location works equally well. The installer uses paths relative to wherever you extract the bundle.cd ~ # recommended, but optional
curl -fL -O https://staging.gighive.app/downloads/gighive-one-shot-bundle.tgz
curl -fL -O https://staging.gighive.app/downloads/gighive-one-shot-bundle.tgz.sha256
sha256sum gighive-one-shot-bundle.tgz
cat gighive-one-shot-bundle.tgz.sha256
Confirm the outputs match.
The outputs should match, but they do not need to match the example SHA below because the bundles are subject to change.
sodo@pop-os:~$ cat gighive-one-shot-bundle.tgz.sha256
d7d4d03adf70f5c023000a8a884355e9442d01a20b57fc2a45a69f50b6537500 gighive-one-shot-bundle.tgz
sodo@pop-os:~$ sha256sum gighive-one-shot-bundle.tgz
d7d4d03adf70f5c023000a8a884355e9442d01a20b57fc2a45a69f50b6537500 gighive-one-shot-bundle.tgz
tar -xzf gighive-one-shot-bundle.tgz
Optional: disable installation telemetry before running the installer.
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.
cd gighive-one-shot-bundle
./install.sh
During ./install.sh, set BasicAuth passwords for the following users.
These are written to apache/externalConfigs/gighive.htpasswd.
adminuploaderviewerWait a minute or two for mysqlServer and apacheWebServer containers to spin up 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
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/
admin.php).viewer: viewers can view media files, but cannot uploaduploader: uploaders can upload and view media filesadmin: admin can view and upload files and change passwordsadmin.php) also lets admins reset default passwords in the GUI.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'
If your server was shut down, the GigHive containers will not automatically restart unless Docker is configured to do so on your system. Run the following to bring the stack back up and verify it is healthy.
cd ~/gighive-one-shot-bundle
docker compose up -d
docker compose ps
docker compose logs -n 50 apacheWebServer
docker compose logs -n 50 mysqlServer
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
# Removes unused containers, networks, dangling images, and build cache.
docker image rm ubuntu-apache-img:1.00
docker compose down -v --rmi local
docker system prune -f
# 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
```bash
cd gighive-one-shot-bundle
docker compose down --volumes --remove-orphans
docker image rm ubuntu-apache-img:1.00
docker compose down -v --rmi local
docker system prune -f
cd ..
sudo rm -rf gighive-one-shot-bundle
```