Files
Bambu-Run/native/bambu-run.sh
2026-03-28 22:53:59 +11:00

73 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# Bambu-Run convenience wrapper
# Usage: ./native/bambu-run.sh {start|stop|restart|status|logs|update}
set -euo pipefail
REPO_DIR="$(cd "$(dirname "$0")/.." && pwd)"
VENV_DIR="$REPO_DIR/.venv"
MANAGE="$VENV_DIR/bin/python $REPO_DIR/standalone/manage.py"
SERVICES="bambu-run-web.service bambu-run-collector.service"
# Include MCP service if installed
SERVICE_DIR="$HOME/.config/systemd/user"
if [ -f "$SERVICE_DIR/bambu-run-mcp.service" ]; then
SERVICES="$SERVICES bambu-run-mcp.service"
fi
case "${1:-help}" in
start)
systemctl --user start $SERVICES
echo "Bambu-Run started."
;;
stop)
systemctl --user stop $SERVICES
echo "Bambu-Run stopped."
;;
restart)
systemctl --user restart $SERVICES
echo "Bambu-Run restarted."
;;
status)
systemctl --user status $SERVICES --no-pager
;;
logs)
JOURNAL_UNITS="-u bambu-run-web -u bambu-run-collector"
if [ -f "$SERVICE_DIR/bambu-run-mcp.service" ]; then
JOURNAL_UNITS="$JOURNAL_UNITS -u bambu-run-mcp"
fi
journalctl --user $JOURNAL_UNITS -f --no-hostname
;;
update)
echo "Pulling latest code..."
cd "$REPO_DIR" && git pull
echo "Installing dependencies..."
EXTRAS="standalone"
if [ -f "$SERVICE_DIR/bambu-run-mcp.service" ]; then
EXTRAS="standalone,mcp"
fi
"$VENV_DIR/bin/pip" install --quiet ".[$EXTRAS]"
echo "Running migrations..."
$MANAGE migrate --noinput
echo "Collecting static files..."
$MANAGE collectstatic --noinput --clear 2>/dev/null
echo "Restarting services..."
systemctl --user restart $SERVICES
echo "Update complete."
;;
help|*)
echo "Usage: $0 {start|stop|restart|status|logs|update}"
echo
echo " start Start web + collector services"
echo " stop Stop web + collector services"
echo " restart Restart web + collector services"
echo " status Show service status"
echo " logs Tail live logs (Ctrl+C to stop)"
echo " update Pull latest code, install deps, migrate, restart"
;;
esac