Files
smart-serow/scripts
2026-01-26 00:35:48 +09:00
..
2026-01-25 00:34:01 +09:00
2026-01-25 00:34:01 +09:00
2026-01-26 00:20:52 +09:00
2026-01-25 23:13:30 +09:00
2026-01-25 23:13:30 +09:00
2026-01-25 23:13:30 +09:00
2026-01-26 00:20:52 +09:00
2026-01-26 00:20:52 +09:00
2026-01-26 00:35:48 +09:00

Scripts

Build, deploy, and setup helpers for the Smart Serow project.

Build & Deploy

Script Purpose
build.py Cross-compile Flutter app for ARM64. Runs generate_theme.py first.
deploy.py rsync bundle to Pi, optionally restart service
build-deploy.py Convenience wrapper: build → deploy → restart
# Typical workflow
python3 build.py              # Build only
python3 deploy.py --restart   # Deploy and restart service
python3 build-deploy.py       # All-in-one

# Clean rebuild (clears CMake cache)
python3 build.py --clean

Theme Generation

Script Purpose
generate_theme.py Converts extra/themes/*.jsonpi/ui/lib/theme/app_colors.dart

Called automatically by build.py. Looks for theme matching navigator in config.json, falls back to default.json.

Pi Setup

Script Purpose
pi_setup.sh First-time Pi configuration (deps, permissions, systemd service)
smartserow-ui.service.sample Systemd unit file template
# On the Pi
chmod +x pi_setup.sh
./pi_setup.sh

Configuration

File Purpose
deploy_target.sample.json Template for deploy settings
deploy_target.json Your actual deploy config (gitignored)
{
  "user": "pi",
  "host": "raspberrypi.local",
  "remote_path": "/opt/smartserow",
  "service_name": "smartserow-ui"
}

Shell vs Python

Both .sh and .py versions exist for some scripts. The Python versions are more robust (better error handling, colored output). Use those.