Offline Installation¶
Deploy Flex Video in air-gapped environments using the self-extracting installer.
Overview¶
The offline installer packages all Docker images into a single executable script that:
- Extracts and loads Docker images
- Creates configuration files
- Sets up udev rules for camera hot-plug
- Configures and starts services
Requirements¶
- Linux ARM64 system (Raspberry Pi, Jetson, etc.)
- Docker and Docker Compose installed
- Root access (sudo)
- 2 GB free disk space for extraction
Download¶
Download the installer from the Blackwire download portal:
curl -LO https://flex.blackwire-ts.com/download/flex-video-installer-arm64.sh
chmod +x flex-video-installer-arm64.sh
Download Portal
Visit flex.blackwire-ts.com to download the latest installer and view available versions.
Installation¶
Basic Install¶
This installs to /opt/flex by default.
Custom Directory¶
Installation Steps¶
The installer performs these steps:
- Validates prerequisites - Checks Docker and disk space
- Extracts images - Unpacks Docker images from the archive
- Loads images - Imports images into Docker
- Creates configuration - Writes docker-compose.yml and .env
- Generates API key - Creates unique FLEX_API_KEY
- Sets up udev rules - Configures camera hot-plug
- Creates /video directory - For local file playback
- Starts services - Brings up all containers
Post-Installation¶
Verify Installation¶
# Check services
docker compose -f /opt/flex/docker-compose.yml ps
# Test API
curl http://localhost:3539/flex/health
Access Web Interface¶
Open http://localhost:8080 in your browser.
Management Commands¶
The installer script doubles as a management tool:
Start Services¶
Stop Services¶
View Logs¶
Check Status¶
Updating¶
To update an existing installation:
- Download the new installer
- Run it over the existing installation
The installer:
- Preserves existing configuration (.env, API key)
- Updates Docker images
- Restarts services
Uninstallation¶
Full Uninstall¶
This removes:
- All Flex Video Docker images
- Installation directory
- udev rules
Preserve Data¶
The uninstaller asks whether to remove Docker volumes. Choose "No" to preserve:
- License data
- Screenshots
- Settings
Configuration¶
Environment File¶
The installer creates /opt/flex/.env:
# Auto-generated API key
FLEX_API_KEY=abc123...
# Add custom configuration
FLEX_FORCE_SW_DECODERS=true
Docker Compose¶
Edit /opt/flex/docker-compose.yml to customize:
- Port mappings
- Volume mounts
- Resource limits
- Hardware acceleration
Platform-Specific Notes¶
Raspberry Pi¶
Works out of the box. For camera support, ensure:
NVIDIA Jetson¶
After installation, enable GPU acceleration:
- Install nvidia-container-toolkit
- Edit docker-compose.yml to uncomment NVIDIA section
- Restart services
OpenWrt¶
The installer detects OpenWrt and:
- Uses mdev instead of udev
- Adjusts paths for BusyBox compatibility
- Configures appropriate init scripts
Troubleshooting¶
Extraction Failed¶
Docker Not Found¶
Images Won't Load¶
Services Won't Start¶
# Check logs
cd /opt/flex && docker compose logs
# Verify images loaded
docker images | grep blackwire
Building the Installer¶
To build a custom installer (requires full source):
Output: installers/flex-video-installer-VERSION-arm64.sh