feat: migrate public n8n and huobao to server
This commit is contained in:
45
scripts/deploy_server_storyforge_huobao.sh
Executable file
45
scripts/deploy_server_storyforge_huobao.sh
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(CDPATH= cd -- "$(dirname "$0")/.." && pwd)"
|
||||
REMOTE_HOST="${AG_HOST:-111.231.132.51}"
|
||||
REMOTE_USER="${AG_USER:-ubuntu}"
|
||||
REMOTE_ROOT="${STORYFORGE_SERVER_REMOTE_ROOT:-/home/ubuntu/storyforge}"
|
||||
REMOTE_COMPOSE_DIR="$REMOTE_ROOT/deploy/cloud"
|
||||
REMOTE_STATE_ROOT="${STORYFORGE_HUOBAO_STATE_ROOT:-$REMOTE_ROOT/data/huobao}"
|
||||
LOCAL_SOURCE_ROOT="${STORYFORGE_HUOBAO_SOURCE_ROOT:-/Users/kris/code/huobao-drama-upstream}"
|
||||
HUOBAO_PORT="${STORYFORGE_HUOBAO_PORT:-127.0.0.1:25678:5678}"
|
||||
|
||||
PW="${AG_SERVER_PASSWORD:-$(security find-generic-password -a "$REMOTE_USER" -s ai-glasses-debug-ssh -w)}"
|
||||
TMPDIR_DEPLOY="$(mktemp -d)"
|
||||
trap 'rm -rf "$TMPDIR_DEPLOY"' EXIT
|
||||
|
||||
FILTERED_SOURCE="$TMPDIR_DEPLOY/huobao-drama-source"
|
||||
mkdir -p "$FILTERED_SOURCE" "$TMPDIR_DEPLOY/state/data"
|
||||
rsync -a \
|
||||
--exclude '.git' \
|
||||
--exclude 'data' \
|
||||
--exclude 'web/node_modules' \
|
||||
--exclude 'web/dist' \
|
||||
--exclude '.DS_Store' \
|
||||
"$LOCAL_SOURCE_ROOT/" "$FILTERED_SOURCE/"
|
||||
if [ -f "$LOCAL_SOURCE_ROOT/data/drama.db" ]; then
|
||||
cp "$LOCAL_SOURCE_ROOT/data/drama.db" "$TMPDIR_DEPLOY/state/data/drama.db"
|
||||
fi
|
||||
|
||||
sshpass -p "$PW" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "$REMOTE_USER@$REMOTE_HOST" \
|
||||
"mkdir -p '$REMOTE_COMPOSE_DIR' '$REMOTE_ROOT/huobao-drama-source' '$REMOTE_STATE_ROOT/data'"
|
||||
sshpass -p "$PW" scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
|
||||
"$ROOT/deploy/storyforge-server-huobao.compose.yaml" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_COMPOSE_DIR/storyforge-server-huobao.compose.yaml"
|
||||
sshpass -p "$PW" rsync -a -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" \
|
||||
"$FILTERED_SOURCE/" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_ROOT/huobao-drama-source/"
|
||||
sshpass -p "$PW" rsync -a -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" \
|
||||
"$TMPDIR_DEPLOY/state/data/" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_STATE_ROOT/data/"
|
||||
|
||||
sshpass -p "$PW" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "$REMOTE_USER@$REMOTE_HOST" \
|
||||
"sudo sh -lc 'cd \"$REMOTE_COMPOSE_DIR\" && STORYFORGE_HUOBAO_PORT=\"$HUOBAO_PORT\" STORYFORGE_HUOBAO_IMAGE=storyforge-huobao:cloud docker compose -f storyforge-server-huobao.compose.yaml up -d --build --force-recreate storyforge-huobao'"
|
||||
|
||||
sshpass -p "$PW" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "$REMOTE_USER@$REMOTE_HOST" \
|
||||
"curl -fsS --max-time 30 http://127.0.0.1:25678/health >/dev/null"
|
||||
|
||||
echo "cloud huobao deployed: http://127.0.0.1:25678/health"
|
||||
34
scripts/deploy_server_storyforge_n8n.sh
Executable file
34
scripts/deploy_server_storyforge_n8n.sh
Executable file
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(CDPATH= cd -- "$(dirname "$0")/.." && pwd)"
|
||||
REMOTE_HOST="${AG_HOST:-111.231.132.51}"
|
||||
REMOTE_USER="${AG_USER:-ubuntu}"
|
||||
REMOTE_ROOT="${STORYFORGE_SERVER_REMOTE_ROOT:-/home/ubuntu/storyforge}"
|
||||
REMOTE_COMPOSE_DIR="$REMOTE_ROOT/deploy/cloud"
|
||||
REMOTE_STATE_ROOT="${STORYFORGE_N8N_STATE_ROOT:-$REMOTE_ROOT/data/n8n}"
|
||||
N8N_PORT="${STORYFORGE_N8N_PORT:-127.0.0.1:25670:5678}"
|
||||
|
||||
PW="${AG_SERVER_PASSWORD:-$(security find-generic-password -a "$REMOTE_USER" -s ai-glasses-debug-ssh -w)}"
|
||||
TMPDIR_DEPLOY="$(mktemp -d)"
|
||||
trap 'rm -rf "$TMPDIR_DEPLOY"' EXIT
|
||||
|
||||
mkdir -p "$TMPDIR_DEPLOY/data"
|
||||
rsync -a "$ROOT/data/n8n/" "$TMPDIR_DEPLOY/data/"
|
||||
|
||||
sshpass -p "$PW" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "$REMOTE_USER@$REMOTE_HOST" \
|
||||
"mkdir -p '$REMOTE_COMPOSE_DIR' '$REMOTE_ROOT/n8n' '$REMOTE_STATE_ROOT'"
|
||||
sshpass -p "$PW" scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
|
||||
"$ROOT/deploy/storyforge-server-n8n.compose.yaml" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_COMPOSE_DIR/storyforge-server-n8n.compose.yaml"
|
||||
sshpass -p "$PW" rsync -a -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" \
|
||||
"$ROOT/n8n/" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_ROOT/n8n/"
|
||||
sshpass -p "$PW" rsync -a -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" \
|
||||
"$TMPDIR_DEPLOY/data/" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_STATE_ROOT/"
|
||||
|
||||
sshpass -p "$PW" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "$REMOTE_USER@$REMOTE_HOST" \
|
||||
"sudo sh -lc 'cd \"$REMOTE_COMPOSE_DIR\" && STORYFORGE_N8N_PORT=\"$N8N_PORT\" docker compose -f storyforge-server-n8n.compose.yaml up -d --force-recreate storyforge-n8n'"
|
||||
|
||||
sshpass -p "$PW" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "$REMOTE_USER@$REMOTE_HOST" \
|
||||
"curl -fsS --max-time 20 http://127.0.0.1:25670/healthz >/dev/null"
|
||||
|
||||
echo "cloud n8n deployed: http://127.0.0.1:25670/healthz"
|
||||
Reference in New Issue
Block a user