fixed migration for old instances
This commit is contained in:
parent
d37ecf6071
commit
a69aa0a975
10 changed files with 463 additions and 86 deletions
|
|
@ -31,8 +31,8 @@ die() { echo "[ERROR] $*" >&2; exit 1; }
|
|||
# --- Docker container/volume naming (telesrv -> owpengram), one-time, opt-in
|
||||
# Resolves whether this install uses the new "owpengram" Docker naming or (if
|
||||
# telesrv_* volumes exist and the user declined migrating them) keeps the old
|
||||
# "telesrv" naming permanently. See deploy/migrate-docker-naming.ps1.
|
||||
NAMING_OUT="$(powershell -NoProfile -ExecutionPolicy Bypass -File deploy/migrate-docker-naming.ps1)" \
|
||||
# "telesrv" naming permanently. See deploy/migrate-docker-naming.sh.
|
||||
NAMING_OUT="$(bash deploy/migrate-docker-naming.sh "$COMPOSE_FILE" .docker_naming)" \
|
||||
|| die "docker naming resolution failed"
|
||||
DOCKER_PROJECT="$(sed -n '1p' <<<"$NAMING_OUT")"
|
||||
DOCKER_PREFIX="$(sed -n '2p' <<<"$NAMING_OUT")"
|
||||
|
|
@ -57,53 +57,62 @@ for i in $(seq 1 30); do
|
|||
sleep 2
|
||||
done
|
||||
|
||||
# --- Postgres role/database naming (telesrv -> owpengram), one-time, opt-in
|
||||
# Only runs for installs that already accepted the Docker naming migration
|
||||
# above; a "telesrv"-naming install already said no to this rename theme once
|
||||
# and isn't asked again. See deploy/migrate-db-naming.sh.
|
||||
if [ "$DOCKER_PREFIX" = "owpengram" ]; then
|
||||
bash deploy/migrate-db-naming.sh "${DOCKER_PREFIX}-postgres" "$ENV_FILE" .db_naming \
|
||||
|| die "postgres naming migration failed"
|
||||
fi
|
||||
|
||||
# --- Build ------------------------------------------------------------------
|
||||
step "[3/4] Building server binaries"
|
||||
if [ "$NO_BUILD" = true ]; then
|
||||
log "skipping build (--no-build)"
|
||||
if [[ ! -f "bin/telesrv" ]] && [[ ! -f "bin/telesrv.exe" ]]; then
|
||||
if [[ ! -f "bin/owpengram-server" ]] && [[ ! -f "bin/owpengram-server.exe" ]]; then
|
||||
die "no binaries found in bin/ — run without --no-build first"
|
||||
fi
|
||||
else
|
||||
mkdir -p bin
|
||||
echo " building telesrv ..."
|
||||
go build -o bin/telesrv ./cmd/telesrv
|
||||
echo " building telesrv-admin ..."
|
||||
go build -o bin/telesrv-admin ./cmd/telesrv-admin
|
||||
echo " building owpengram-server ..."
|
||||
go build -o bin/owpengram-server ./cmd/telesrv
|
||||
echo " building owpengram-admin-panel ..."
|
||||
go build -o bin/owpengram-admin-panel ./cmd/telesrv-admin
|
||||
echo "[ok] binaries built in bin/"
|
||||
fi
|
||||
|
||||
# --- Start servers ----------------------------------------------------------
|
||||
step "[4/4] Starting telesrv + telesrv-admin"
|
||||
step "[4/4] Starting owpengram-server + owpengram-admin-panel"
|
||||
|
||||
mkdir -p "$LOG_DIR"
|
||||
TELESRV_LOG="$LOG_DIR/telesrv.log"
|
||||
ADMIN_LOG="$LOG_DIR/telesrv-admin.log"
|
||||
SERVER_LOG="$LOG_DIR/owpengram-server.log"
|
||||
ADMIN_LOG="$LOG_DIR/owpengram-admin-panel.log"
|
||||
|
||||
cleanup() {
|
||||
echo
|
||||
echo "[stop] stopping telesrv and telesrv-admin ..."
|
||||
kill "$TELESRV_PID" 2>/dev/null || true
|
||||
echo "[stop] stopping owpengram-server and owpengram-admin-panel ..."
|
||||
kill "$SERVER_PID" 2>/dev/null || true
|
||||
kill "$ADMIN_PID" 2>/dev/null || true
|
||||
wait "$TELESRV_PID" 2>/dev/null || true
|
||||
wait "$SERVER_PID" 2>/dev/null || true
|
||||
wait "$ADMIN_PID" 2>/dev/null || true
|
||||
echo "[ok] stopped."
|
||||
}
|
||||
trap cleanup EXIT INT TERM
|
||||
|
||||
# Start telesrv (main server)
|
||||
BIN="./bin/telesrv"
|
||||
[[ -f "bin/telesrv.exe" ]] && BIN="./bin/telesrv.exe"
|
||||
$BIN >>"$TELESRV_LOG" 2>&1 &
|
||||
TELESRV_PID=$!
|
||||
echo "[ok] telesrv started (PID ${TELESRV_PID}), logs -> ${TELESRV_LOG}"
|
||||
# Start owpengram-server (main server)
|
||||
BIN="./bin/owpengram-server"
|
||||
[[ -f "bin/owpengram-server.exe" ]] && BIN="./bin/owpengram-server.exe"
|
||||
$BIN >>"$SERVER_LOG" 2>&1 &
|
||||
SERVER_PID=$!
|
||||
echo "[ok] owpengram-server started (PID ${SERVER_PID}), logs -> ${SERVER_LOG}"
|
||||
|
||||
# Start telesrv-admin (admin panel)
|
||||
ADMIN_BIN="./bin/telesrv-admin"
|
||||
[[ -f "bin/telesrv-admin.exe" ]] && ADMIN_BIN="./bin/telesrv-admin.exe"
|
||||
# Start owpengram-admin-panel (admin panel)
|
||||
ADMIN_BIN="./bin/owpengram-admin-panel"
|
||||
[[ -f "bin/owpengram-admin-panel.exe" ]] && ADMIN_BIN="./bin/owpengram-admin-panel.exe"
|
||||
$ADMIN_BIN >>"$ADMIN_LOG" 2>&1 &
|
||||
ADMIN_PID=$!
|
||||
echo "[ok] telesrv-admin started (PID ${ADMIN_PID}), logs -> ${ADMIN_LOG}"
|
||||
echo "[ok] owpengram-admin-panel started (PID ${ADMIN_PID}), logs -> ${ADMIN_LOG}"
|
||||
|
||||
echo
|
||||
echo "============================================"
|
||||
|
|
@ -111,45 +120,45 @@ echo " OwpenGram server is running"
|
|||
echo "============================================"
|
||||
echo ""
|
||||
echo " Logs:"
|
||||
echo " telesrv: tail -f ${TELESRV_LOG}"
|
||||
echo " telesrv-admin: tail -f ${ADMIN_LOG}"
|
||||
echo " owpengram-server: tail -f ${SERVER_LOG}"
|
||||
echo " owpengram-admin-panel: tail -f ${ADMIN_LOG}"
|
||||
echo "============================================"
|
||||
|
||||
# --- Interactive menu -------------------------------------------------------
|
||||
show_menu() {
|
||||
echo
|
||||
echo " [1] View telesrv logs (last 50 lines)"
|
||||
echo " [2] View telesrv-admin logs (last 50 lines)"
|
||||
echo " [1] View owpengram-server logs (last 50 lines)"
|
||||
echo " [2] View owpengram-admin-panel logs (last 50 lines)"
|
||||
echo " [3] View both logs (last 50 lines)"
|
||||
echo " [4] Tail telesrv logs (live)"
|
||||
echo " [5] Tail telesrv-admin logs (live)"
|
||||
echo " [4] Tail owpengram-server logs (live)"
|
||||
echo " [5] Tail owpengram-admin-panel logs (live)"
|
||||
echo " [q] Stop server and exit"
|
||||
echo
|
||||
}
|
||||
|
||||
while true; do
|
||||
# Check if processes are still alive
|
||||
if ! kill -0 "$TELESRV_PID" 2>/dev/null; then
|
||||
echo "[WARN] telesrv (PID ${TELESRV_PID}) exited unexpectedly"
|
||||
echo " Check ${TELESRV_LOG} for details"
|
||||
if ! kill -0 "$SERVER_PID" 2>/dev/null; then
|
||||
echo "[WARN] owpengram-server (PID ${SERVER_PID}) exited unexpectedly"
|
||||
echo " Check ${SERVER_LOG} for details"
|
||||
kill "$ADMIN_PID" 2>/dev/null || true
|
||||
break
|
||||
fi
|
||||
if ! kill -0 "$ADMIN_PID" 2>/dev/null; then
|
||||
echo "[WARN] telesrv-admin (PID ${ADMIN_PID}) exited unexpectedly"
|
||||
echo "[WARN] owpengram-admin-panel (PID ${ADMIN_PID}) exited unexpectedly"
|
||||
echo " Check ${ADMIN_LOG} for details"
|
||||
kill "$TELESRV_PID" 2>/dev/null || true
|
||||
kill "$SERVER_PID" 2>/dev/null || true
|
||||
break
|
||||
fi
|
||||
|
||||
show_menu
|
||||
read -rp " Choice: " choice
|
||||
case "$choice" in
|
||||
1) tail -n 50 "$TELESRV_LOG" 2>/dev/null || echo " (no logs yet)" ;;
|
||||
1) tail -n 50 "$SERVER_LOG" 2>/dev/null || echo " (no logs yet)" ;;
|
||||
2) tail -n 50 "$ADMIN_LOG" 2>/dev/null || echo " (no logs yet)" ;;
|
||||
3) echo " --- telesrv ---" ; tail -n 50 "$TELESRV_LOG" 2>/dev/null || echo " (no logs yet)"
|
||||
echo " --- telesrv-admin ---" ; tail -n 50 "$ADMIN_LOG" 2>/dev/null || echo " (no logs yet)" ;;
|
||||
4) echo " Press Ctrl+C to stop tailing"; tail -f "$TELESRV_LOG" ;;
|
||||
3) echo " --- owpengram-server ---" ; tail -n 50 "$SERVER_LOG" 2>/dev/null || echo " (no logs yet)"
|
||||
echo " --- owpengram-admin-panel ---" ; tail -n 50 "$ADMIN_LOG" 2>/dev/null || echo " (no logs yet)" ;;
|
||||
4) echo " Press Ctrl+C to stop tailing"; tail -f "$SERVER_LOG" ;;
|
||||
5) echo " Press Ctrl+C to stop tailing"; tail -f "$ADMIN_LOG" ;;
|
||||
q|Q) break ;;
|
||||
*) echo " Invalid choice" ;;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue