End-to-End Deployment Runbook
📌 What is this for? (Quick Summary)​
In simple words: This is the step-by-step recipe book for launching and running the whole TuTr Hyperloop system from scratch. If you ever need to set up a new computer, put code on the Raspberry Pi, or publish updates to the live web dashboard at
dashboard.tutr.tech, follow the commands on this page.
1. Edge Device Deployment (Raspberry Pi 5)​
Prerequisites:​
- Raspberry Pi 5 with 64-bit Raspberry Pi OS (Debian Bookworm).
- Network interface configured with static IP or DHCP on trackside network.
- Go toolchain
1.22+installed in/usr/local/go. - Python
3.11+withvenvsupport. - FFmpeg installed (
sudo apt update && sudo apt install -y ffmpeg).
Deployment Steps:​
# 1. Clone repository to home directory
cd /home/ssm-user
git clone https://github.com/TutrTech/RPi-Package.git
cd RPi-Package
# 2. Run the automated installer
chmod +x installer.sh updater.sh
./installer.sh
# 3. Verify all systemd services are active
sudo systemctl status pod-gateway pod-stream pod-emulator pod-web
2. 2D Operations Dashboard Deployment (dashboard.tutr.tech)​
Local Development:​
cd "Client Dashboard/Dashboard"
npm install
npm run dev
# Accessible at http://localhost:5173
Production Build & S3/CloudFront Deployment:​
cd "Client Dashboard/Dashboard"
# Verify test suite passes 100%
npm run test
# Build production bundle
npm run build
# Deploy dist/ to S3 bucket backing dashboard.tutr.tech
aws s3 sync dist/ s3://dashboard-hosting-bucket/ --delete
# Invalidate CloudFront cache
aws cloudfront create-invalidation --distribution-id E3XXXXXXXXXXXX --paths "/*"
3. 3D Visualizer Dashboard Deployment​
Local Development:​
cd "Client Dashboard/ThreeJsForDemoPurpose"
npm install
npm run dev
# Accessible at http://localhost:5173
Production Build:​
cd "Client Dashboard/ThreeJsForDemoPurpose"
npm run build
# Compiled assets generated in dist/
4. MediaMTX Video Streaming Server Setup​
On the video streaming EC2 instance (cam.tutr.tech):
# 1. Download MediaMTX binary
wget https://github.com/bluenviron/mediamtx/releases/download/v1.9.3/mediamtx_v1.9.3_linux_amd64.tar.gz
tar -xzf mediamtx_v1.9.3_linux_amd64.tar.gz
sudo mv mediamtx /usr/local/bin/
# 2. Place configuration in /etc/mediamtx/mediamtx.yml
sudo mkdir -p /etc/mediamtx
sudo cp mediamtx.yml /etc/mediamtx/mediamtx.yml
# 3. Configure systemd service
sudo nano /etc/systemd/system/mediamtx.service