Skip to main content

One-Line Installation (product.kopens.io)

If you have an internet-connected server, installation starts with a single command.

curl -fsSL https://product.kopens.io/plantpulse-studio/install.sh | sudo bash

For an air-gapped network, see Air-Gap Installation.


Before You Start

ItemDetails
PermissionsMust run as root (sudo bash)
NetworkHTTPS access available to product.kopens.io · docker.kopens.io
Required valuesPlatform address, data storage path — see below

What the Script Does

  1. Verifies you are root
  2. Installs git if not present (dnf / apt)
  3. Tries the bundle tarball first (no authentication needed), then falls back to cloning from the repository if it fails
  4. Continues with the installation script
Studio defaults to tarball path

The bundle is hosted on a CDN and downloads without repository authentication. Installation proceeds even if your corporate firewall blocks repository access.


Installation with Explicit Values

Environment variables go before bash. If placed before curl, they will not pass through the pipe.

curl -fsSL https://product.kopens.io/plantpulse-studio/install.sh \
| sudo PLATFORM_API_TARGET=https://192.168.0.41 DATA_ROOT=/data1/pp-studio bash

To be prompted for each empty value, run interactively. Recommended for initial setup.

curl -fsSL https://product.kopens.io/plantpulse-studio/install.sh | sudo INTERACTIVE=1 bash
Environment VariableDefaultPurpose
INTERACTIVE0Prompt for empty values if set to 1
PLATFORM_API_TARGETPlatform API address (live data and authentication delegation)
DATA_ROOT/var/lib/pp-studioStorage path for workspace, build, and database data
DEST/opt/kopens/plantpulse-studio-dockerInstallation location
BRANCHmainBranch to fetch from the repository
GIT_USER · GIT_TOKENAuthentication for repository clone when tarball fails

See the full variable list in Environment Variable Reference.


After Installation

  1. Change Initial Password — Update admin / admin123!.
  2. Getting Started — First login and UI walkthrough.
  3. If serving over a domain → Domain and Reverse Proxy.