63 lines
1.6 KiB
Markdown
63 lines
1.6 KiB
Markdown
---
|
|
created: 2026-08-06T14:49:00
|
|
tags:
|
|
- aws
|
|
- script
|
|
- openwebUI
|
|
version: "1.0"
|
|
---
|
|
|
|
```
|
|
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
REGION="us-east-2"
|
|
INSTANCE_ID="i-0b6c42e2ff7df81ee"
|
|
|
|
usage() {
|
|
echo "Usage: $0 {start|stop|status}"
|
|
exit 1
|
|
}
|
|
|
|
cmd="${1:-}"
|
|
[ -n "$cmd" ] || usage
|
|
|
|
case "$cmd" in
|
|
start)
|
|
echo "Starting Open WebUI server..."
|
|
aws ec2 start-instances --region "$REGION" --instance-ids "$INSTANCE_ID" \
|
|
--query 'StartingInstances[].{InstanceId:InstanceId,Previous:PreviousState.Name,Current:CurrentState.Name}' \
|
|
--output table
|
|
|
|
echo "Waiting for instance to run..."
|
|
aws ec2 wait instance-running --region "$REGION" --instance-ids "$INSTANCE_ID"
|
|
|
|
echo "Waiting for status checks..."
|
|
aws ec2 wait instance-status-ok --region "$REGION" --instance-ids "$INSTANCE_ID"
|
|
|
|
echo "Started. Open: https://openwebui.boogerclub.com"
|
|
;;
|
|
|
|
stop)
|
|
echo "Stopping Open WebUI server..."
|
|
aws ec2 stop-instances --region "$REGION" --instance-ids "$INSTANCE_ID" \
|
|
--query 'StoppingInstances[].{InstanceId:InstanceId,Previous:PreviousState.Name,Current:CurrentState.Name}' \
|
|
--output table
|
|
|
|
echo "Waiting for instance to stop..."
|
|
aws ec2 wait instance-stopped --region "$REGION" --instance-ids "$INSTANCE_ID"
|
|
|
|
echo "Stopped."
|
|
;;
|
|
|
|
status)
|
|
aws ec2 describe-instances --region "$REGION" --instance-ids "$INSTANCE_ID" \
|
|
--query 'Reservations[0].Instances[0].{InstanceId:InstanceId,State:State.Name,Type:InstanceType,PublicIp:PublicIpAddress}' \
|
|
--output table
|
|
;;
|
|
|
|
*)
|
|
usage
|
|
;;
|
|
esac
|
|
``` |