Skip to content

Deploy Product

Goal

Deploy Sa2web with the installer script, including first-time installation, upgrade, verification, and HTTPS configuration.

Prerequisites

  • The deployment server must run Linux x86_64. The current product does not support Windows, macOS, ARM64, or other CPU architectures.
  • Docker and Docker Compose are installed.
  • Installation path, internal host IP, public IP or domain, system name, and system user password are prepared.

Reference Video

For a walkthrough, see the installation reference video.

Download

Download the required team or full edition package from the official website, then extract it to a directory:

bash
cd /opt && tar -xzf browser_full_1.0.0.tar.gz

Steps

  1. Enter the deployment directory and run the installer:
bash
cd /opt/browser_full_1.0.0
chmod +x install.sh
./install.sh
  1. Select the installation language. The script supports English, Simplified Chinese, Japanese, Vietnamese, Indonesian, Spanish, French, and Russian.

  2. Read and accept the software agreement.

  3. For first-time installation, enter the prompted values:

ParameterDescriptionDefault
Installation directoryProduct runtime directory/opt/sa
Internal host IPUsed by containers and servicesRequired
Public host IPUsed for external accessInternal IP
Access domainUser-facing domain or IPPublic IP
System nameFrontend display nameApp System
system user passwordInitial system user passwordabc123456
  1. Choose an HTTPS/SSL certificate mode:
  • Let Caddy automatically request a free certificate such as Let's Encrypt.
  • Use a Caddy internal certificate.
  • Provide your own certificate under volumes/ssl.

If you choose a Caddy internal certificate, client devices must install the local Caddy root certificate. See Internal Certificate Installation.

  1. The script loads offline images, generates docker-compose.yml, writes runtime configuration, and starts containers.

Upgrade

  1. Back up the current installation directory, especially volumes/, data/, and logs/:
bash
tar czf /tmp/browser_backup_$(date +%F).tgz $INSTALL_PATH
  1. Copy the new deployment files to the target server.
  2. Run ./install.sh in the new version directory.
  3. If $HOME/.sa/config.env exists, the script enters upgrade mode, regenerates configuration, and runs:
bash
docker compose down
docker compose up -d

Verification

bash
docker compose -f $INSTALL_PATH/docker-compose.yml ps
tail -n 200 $INSTALL_PATH/logs/app/app.log
docker compose -f $INSTALL_PATH/docker-compose.yml logs --tail 200 --follow

Open:

text
https://<APP_DOMAIN>/
https://<APP_DOMAIN>/admin/login

Post-Install Initialization

  1. Log in to the admin console with the system user.
  2. Change the default password immediately and create at least one backup administrator.
  3. Get and register a license. See License Registration.
  4. Check system name, domain, and basic settings.
  5. Create machines and browser instances.
  6. Create a test user, test site, and test group.
  7. Complete one site access verification from the user portal.

Backup Recommendations

DataRecommendation
Install directoryBack up the full $INSTALL_PATH before upgrades
volumesPreserve certificates, configuration, object storage, and runtime data
dataPreserve uploaded images, Caddy certificates, ClickHouse, Garage, GeoIP, and browser runtime data
logsPreserve logs for troubleshooting and audit
DatabaseBack up periodically according to enterprise policy
.sa configurationPreserve $HOME/.sa/config.env and $HOME/.sa/user.env

FAQ

  • Automatic certificates require a public domain pointing to the server, with ports 80 and 443 open.
  • For intranet deployments with a Caddy internal certificate, install $INSTALL_PATH/data/caddy/pki/authorities/local/root.crt into the trusted root store on client devices.
  • For custom certificates, name files cert.crt and cert.key, then place them under volumes/ssl in the install directory.
  • Location analytics require bash update_geolite2.sh to download the GeoLite2 database. If the download fails, configure a proxy in update_geolite2.sh.
  • If installation is interrupted, first check whether Docker images loaded successfully, then inspect the install directory and old configuration under $HOME/.sa.
  • To reinstall from scratch instead of upgrading, delete $HOME/.sa and run install.sh again.

Sa2web 1.0.0