manage-relay.sh raw
1 #!/bin/bash
2 # Stella's Orly Relay Management Script
3 # Uses docker-compose.yml directly for configuration
4
5 set -e
6
7 # Get script directory and project root
8 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
9 PROJECT_DIR="$SCRIPT_DIR"
10
11 # Configuration from docker-compose.yml
12 RELAY_SERVICE="orly-relay"
13 CONTAINER_NAME="orly-nostr-relay"
14 RELAY_URL="ws://127.0.0.1:7777"
15 HTTP_URL="http://127.0.0.1:7777"
16 RELAY_DATA_DIR="/home/madmin/.local/share/orly-relay"
17
18 # Change to project directory for docker-compose commands
19 cd "$PROJECT_DIR"
20
21 case "${1:-}" in
22 "start")
23 echo "๐ Starting Stella's Orly Relay..."
24 docker compose up -d orly-relay
25 echo "โ
Relay started!"
26 ;;
27 "stop")
28 echo "โน๏ธ Stopping Stella's Orly Relay..."
29 docker compose down
30 echo "โ
Relay stopped!"
31 ;;
32 "restart")
33 echo "๐ Restarting Stella's Orly Relay..."
34 docker compose restart orly-relay
35 echo "โ
Relay restarted!"
36 ;;
37 "status")
38 echo "๐ Stella's Orly Relay Status:"
39 docker compose ps orly-relay
40 ;;
41 "logs")
42 echo "๐ Stella's Orly Relay Logs:"
43 docker compose logs -f orly-relay
44 ;;
45 "test")
46 echo "๐งช Testing relay connection..."
47 if curl -s -I "$HTTP_URL" | grep -q "426 Upgrade Required"; then
48 echo "โ
Relay is responding correctly!"
49 echo "๐ก WebSocket URL: $RELAY_URL"
50 echo "๐ HTTP URL: $HTTP_URL"
51 else
52 echo "โ Relay is not responding correctly"
53 echo " Expected: 426 Upgrade Required"
54 echo " URL: $HTTP_URL"
55 exit 1
56 fi
57 ;;
58 "enable")
59 echo "๐ง Enabling relay to start at boot..."
60 sudo systemctl enable $RELAY_SERVICE
61 echo "โ
Relay will start automatically at boot!"
62 ;;
63 "disable")
64 echo "๐ง Disabling relay auto-start..."
65 sudo systemctl disable $RELAY_SERVICE
66 echo "โ
Relay will not start automatically at boot!"
67 ;;
68 "info")
69 echo "๐ Stella's Orly Relay Information:"
70 echo " Service: $RELAY_SERVICE"
71 echo " Container: $CONTAINER_NAME"
72 echo " WebSocket URL: $RELAY_URL"
73 echo " HTTP URL: $HTTP_URL"
74 echo " Data Directory: $RELAY_DATA_DIR"
75 echo " Config Directory: $PROJECT_DIR"
76 echo ""
77 echo "๐ณ Docker Information:"
78 echo " Compose File: $PROJECT_DIR/docker-compose.yml"
79 echo " Container Status:"
80 docker compose ps orly-relay 2>/dev/null || echo " Not running"
81 echo ""
82 echo "๐ก Configuration:"
83 echo " All settings are defined in docker-compose.yml"
84 echo " Use 'docker compose config' to see parsed configuration"
85 ;;
86 "docker-logs")
87 echo "๐ณ Docker Container Logs:"
88 docker compose logs -f orly-relay 2>/dev/null || echo "โ Container not found or not running"
89 ;;
90 "docker-status")
91 echo "๐ณ Docker Container Status:"
92 docker compose ps orly-relay
93 ;;
94 "docker-restart")
95 echo "๐ Restarting Docker Container..."
96 docker compose restart orly-relay
97 echo "โ
Container restarted!"
98 ;;
99 "docker-update")
100 echo "๐ Updating and restarting Docker Container..."
101 docker compose pull orly-relay
102 docker compose up -d orly-relay
103 echo "โ
Container updated and restarted!"
104 ;;
105 "docker-build")
106 echo "๐จ Building Docker Container..."
107 docker compose build orly-relay
108 echo "โ
Container built!"
109 ;;
110 "docker-down")
111 echo "โน๏ธ Stopping Docker Container..."
112 docker compose down
113 echo "โ
Container stopped!"
114 ;;
115 "docker-config")
116 echo "๐ Docker Compose Configuration:"
117 docker compose config
118 ;;
119 *)
120 echo "๐ฒ Stella's Orly Relay Management Script"
121 echo ""
122 echo "Usage: $0 [COMMAND]"
123 echo ""
124 echo "Commands:"
125 echo " start Start the relay"
126 echo " stop Stop the relay"
127 echo " restart Restart the relay"
128 echo " status Show relay status"
129 echo " logs Show relay logs (follow mode)"
130 echo " test Test relay connection"
131 echo " enable Enable auto-start at boot"
132 echo " disable Disable auto-start at boot"
133 echo " info Show relay information"
134 echo ""
135 echo "Docker Commands:"
136 echo " docker-logs Show Docker container logs"
137 echo " docker-status Show Docker container status"
138 echo " docker-restart Restart Docker container only"
139 echo " docker-update Update and restart container"
140 echo " docker-build Build Docker container"
141 echo " docker-down Stop Docker container"
142 echo " docker-config Show Docker Compose configuration"
143 echo ""
144 echo "Examples:"
145 echo " $0 start # Start the relay"
146 echo " $0 status # Check if it's running"
147 echo " $0 test # Test WebSocket connection"
148 echo " $0 logs # Watch real-time logs"
149 echo " $0 docker-logs # Watch Docker container logs"
150 echo " $0 docker-update # Update and restart container"
151 echo ""
152 echo "๐ฒ Crafted in the digital forest by Stella โจ"
153 ;;
154 esac
155