#!/usr/bin/env sh set -eu compose_file="${MAGENT_COMPOSE_FILE:-compose.yml}" project_name="${MAGENT_PROJECT_NAME:-magent}" usage() { echo "Usage: ./setup.sh check|install|status|token|logs" echo "Run this script from a directory containing the public compose.yml." } compose() { docker compose -f "$compose_file" -p "$project_name" "$@" } case "${1:-}" in check) docker version >/dev/null docker compose version >/dev/null compose config --quiet echo "Docker and compose.yml are ready." ;; install) compose config --quiet compose pull compose up -d --wait --wait-timeout 120 compose ps echo "Open http://SERVER_IP:3000/setup, then run: ./setup.sh token" ;; status) compose ps ;; token) compose exec --user magent magent python -m app.container_bootstrap setup-token ;; logs) compose logs --tail=150 magent ;; *) usage exit 2 ;; esac