GigHive bee gighive

These are instructions to get up and running with Gighive for users with Docker already installed.

Quickstart install instructions

Requirements

A running Docker installation.

Download and verify integrity of tarball

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.

Install the tarball and verify containers are running

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)

Validate 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 run

ubuntu@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 output

NAME                   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

curl HTTP smoke tests

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

Open the URL in your favorite browser;

Example: https://192.168.1.252/ Note you will get a security warning because the certificate is self-signed.

⚙️ After Installation

Troubleshooting

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'

Clean reinstall / full wipe (install host)

Use this when you want to restart from a known-clean state during testing.

Commands (run in the extracted bundle directory)

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

To rotate BasicAuth passwords later

Regenerate apache/externalConfigs/gighive.htpasswd and restart the apache container:

docker compose restart apacheWebServer