Update start.sh
Browse files
start.sh
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
#!/bin/sh
|
| 2 |
set -e
|
| 3 |
|
|
|
|
| 4 |
EXPRESS_PORT_EFFECTIVE=${EXPRESS_PORT:-15782}
|
| 5 |
|
| 6 |
# Запускаем telegram-bot-api как основной процесс
|
|
@@ -17,38 +18,11 @@ echo "[$(date +%Y-%m-%dT%H:%M:%S%Z)] Stats reporter script started with PID $NOD
|
|
| 17 |
# Запускаем Express сервер
|
| 18 |
node server.mjs &
|
| 19 |
NODE_EXPRESS_PID=$!
|
| 20 |
-
echo "[$(date +%Y-%m-%dT%H:%M:%S%Z)] Express server started with PID $NODE_EXPRESS_PID on port $EXPRESS_PORT_EFFECTIVE"
|
| 21 |
-
|
| 22 |
-
# Запускаем localtunnel
|
| 23 |
-
echo "[$(date +%Y-%m-%dT%H:%M:%S%Z)] Starting localtunnel for port $EXPRESS_PORT_EFFECTIVE..."
|
| 24 |
-
# lt --port <port> --print-requests (для отладки)
|
| 25 |
-
# Вывод URL будет в stdout/stderr, перенаправляем в лог
|
| 26 |
-
lt --port $EXPRESS_PORT_EFFECTIVE > /tmp/localtunnel.log 2>&1 &
|
| 27 |
-
LT_PID=$!
|
| 28 |
-
echo "[$(date +%Y-%m-%dT%H:%M:%S%Z)] localtunnel process started with PID $LT_PID."
|
| 29 |
-
|
| 30 |
-
# Даем немного времени localtunnel на запуск и вывод URL
|
| 31 |
-
sleep 15
|
| 32 |
-
|
| 33 |
-
echo "[$(date +%Y-%m-%dT%H:%M:%S%Z)] localtunnel log (/tmp/localtunnel.log) content (last 10 lines):"
|
| 34 |
-
if [ -f /tmp/localtunnel.log ]; then
|
| 35 |
-
# Ищем URL в логе localtunnel
|
| 36 |
-
LT_URL=$(grep -o 'https://[a-zA-Z0-9-]*\.loca.lt' /tmp/localtunnel.log | head -n 1)
|
| 37 |
-
if [ -n "$LT_URL" ]; then
|
| 38 |
-
echo "[$(date +%Y-%m-%dT%H:%M:%S%Z)] localtunnel URL: $LT_URL"
|
| 39 |
-
else
|
| 40 |
-
echo "[$(date +%Y-%m-%dT%H:%M:%S%Z)] Could not automatically parse localtunnel URL from logs."
|
| 41 |
-
fi
|
| 42 |
-
tail -n 10 /tmp/localtunnel.log
|
| 43 |
-
else
|
| 44 |
-
echo "/tmp/localtunnel.log not found."
|
| 45 |
-
fi
|
| 46 |
-
echo "[$(date +%Y-%m-%dT%H:%M:%S%Z)] End of localtunnel log check."
|
| 47 |
-
|
| 48 |
|
| 49 |
# Настраиваем перехват сигналов
|
| 50 |
trap "echo '[$(date +%Y-%m-%dT%H:%M:%S%Z)] Caught SIGINT/SIGTERM, shutting down...'; \
|
| 51 |
-
kill $TELEGRAM_PID $NODE_STATS_PID $NODE_EXPRESS_PID
|
| 52 |
echo '[$(date +%Y-%m-%dT%H:%M:%S%Z)] Shutdown complete.'; \
|
| 53 |
exit 0" SIGINT SIGTERM
|
| 54 |
|
|
@@ -60,6 +34,6 @@ echo "[$(date +%Y-%m-%dT%H:%M:%S%Z)] Telegram Bot API process (PID $TELEGRAM_PID
|
|
| 60 |
|
| 61 |
# Если основной процесс завершился, останавливаем все остальные
|
| 62 |
echo "[$(date +%Y-%m-%dT%H:%M:%S%Z)] Main process exited, ensuring other processes are stopped..."
|
| 63 |
-
kill $NODE_STATS_PID $NODE_EXPRESS_PID
|
| 64 |
echo "[$(date +%Y-%m-%dT%H:%M:%S%Z)] Script finished."
|
| 65 |
exit $EXIT_CODE
|
|
|
|
| 1 |
#!/bin/sh
|
| 2 |
set -e
|
| 3 |
|
| 4 |
+
# Устанавливаем порт для Express, если не задан переменной окружения
|
| 5 |
EXPRESS_PORT_EFFECTIVE=${EXPRESS_PORT:-15782}
|
| 6 |
|
| 7 |
# Запускаем telegram-bot-api как основной процесс
|
|
|
|
| 18 |
# Запускаем Express сервер
|
| 19 |
node server.mjs &
|
| 20 |
NODE_EXPRESS_PID=$!
|
| 21 |
+
echo "[$(date +%Y-%m-%dT%H:%M:%S%Z)] Express server started with PID $NODE_EXPRESS_PID on port $EXPRESS_PORT_EFFECTIVE (accessible inside container)"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
# Настраиваем перехват сигналов
|
| 24 |
trap "echo '[$(date +%Y-%m-%dT%H:%M:%S%Z)] Caught SIGINT/SIGTERM, shutting down...'; \
|
| 25 |
+
kill $TELEGRAM_PID $NODE_STATS_PID $NODE_EXPRESS_PID 2>/dev/null || true; \
|
| 26 |
echo '[$(date +%Y-%m-%dT%H:%M:%S%Z)] Shutdown complete.'; \
|
| 27 |
exit 0" SIGINT SIGTERM
|
| 28 |
|
|
|
|
| 34 |
|
| 35 |
# Если основной процесс завершился, останавливаем все остальные
|
| 36 |
echo "[$(date +%Y-%m-%dT%H:%M:%S%Z)] Main process exited, ensuring other processes are stopped..."
|
| 37 |
+
kill $NODE_STATS_PID $NODE_EXPRESS_PID 2>/dev/null || true
|
| 38 |
echo "[$(date +%Y-%m-%dT%H:%M:%S%Z)] Script finished."
|
| 39 |
exit $EXIT_CODE
|