Skip to main content

Silent install

The installer can take every setting from a file and ask nothing, for a script, a provisioning tool, or the next server.

1. Download the installer and the settings file​

On the server:

curl -fsSL https://get.hivepaas.com -o install.sh
curl -fsSLO https://github.com/hivepaas/hivepaas/releases/download/v1.0.0-beta1/install.env

Both come with a release: get.hivepaas.com is the installer of the current one, and install.env is attached to it, beside the installer. For another release, take install.env from that release on the Releases page. The copies in the repository are not the release's: the installer there deploys whatever main holds.

2. Fill in the settings​

install.env explains each setting. Three are required:

install.env
HIVEPAAS_ADMIN_EMAIL=[email protected]
HIVEPAAS_ADMIN_PASSWORD='a password of 10 characters or more'
HIVEPAAS_APP_DOMAIN=hivepaas.example.com

The file is KEY=VALUE lines, read as data and never run. Quote a value with spaces. An empty value, or a line left commented out, takes the default.

3. Run it​

sudo bash install.sh --config install.env --yes

--yes answers yes to installing Docker, or upgrading one that is too old, and to the final confirmation. With every required setting given, nothing is asked.

The installer then goes through the same steps as an install with questions, and leaves the same files.

Delete install.env

The file holds the admin's password. Delete it once HivePaaS is installed.

All settings​

SettingDefaultWhat it is
HIVEPAAS_ADMIN_EMAILrequiredThe admin's email.
HIVEPAAS_ADMIN_PASSWORDrequiredThe admin's password: 10 characters or more.
HIVEPAAS_APP_DOMAINrequiredThe dashboard's domain, such as hivepaas.example.com.
HIVEPAAS_ROOT_DOMAINthe app domain's last two labelsThe domain apps get subdomains of: the app domain or a domain it is under. example.com for hivepaas.example.com, and three labels under a suffix like co.uk.
HIVEPAAS_APP_SECRETgeneratedThe key every stored secret is encrypted with: 32 characters or more, no spaces, quotes or backslashes.
HIVEPAAS_DATA_DIR/var/lib/hivepaasWhere HivePaaS keeps its data.
HIVEPAAS_PROJECT_DATA_DIRproject_data in the data directoryWhere projects' data goes.
HIVEPAAS_CHANNELbetaThe release channel: beta or stable.
HIVEPAAS_SWAPtruefalse adds no swap file to a server without swap.
HIVEPAAS_SWAP_SIZE_MB2048The swap file's size, in MB.
HIVEPAAS_EARLYOOMtruefalse does not install earlyoom.
HIVEPAAS_UPGRADE_DOCKERnot upgradedtrue upgrades a Docker that is new enough but not the latest. --yes alone does not.
HIVEPAAS_EXISTING_DBnone: the install stopskeep or reset, for a database left by an earlier install. --yes does not answer it.
HIVEPAAS_DB_PASSWORDfrom credentials.txtWith keep: the earlier database's password, when credentials.txt is gone.

Settings from the environment​

The settings can also come from the environment, which wins over the file:

sudo HIVEPAAS_CHANNEL=stable bash install.sh --config install.env --yes

When a setting is missing​

With no terminal to ask on, a missing required setting stops the install before anything changes, and the installer names what is missing. Add it to the file, and run it again.