feat: phase 3 redesign, game images, auth system, vm guides, service isolation
Some checks failed
Deploy Multi-VM / Deploy VM Web (push) Has been cancelled
Deploy Multi-VM / Deploy VM Auth (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.fusionfall.yml, VM_FUSIONFALL_HOST, VM_FUSIONFALL_SSH_KEY, VM_FUSIONFALL_USER, fusionfall) (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.maple2.yml, VM_MAPLE2_HOST, VM_MAPLE2_SSH_KEY, VM_MAPLE2_USER, maple2) (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.minecraft.yml, VM_MINECRAFT_HOST, VM_MINECRAFT_SSH_KEY, VM_MINECRAFT_USER, minecraft) (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.retro.yml, VM_RETRO_HOST, VM_RETRO_SSH_KEY, VM_RETRO_USER, retro) (push) Has been cancelled
Some checks failed
Deploy Multi-VM / Deploy VM Web (push) Has been cancelled
Deploy Multi-VM / Deploy VM Auth (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.fusionfall.yml, VM_FUSIONFALL_HOST, VM_FUSIONFALL_SSH_KEY, VM_FUSIONFALL_USER, fusionfall) (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.maple2.yml, VM_MAPLE2_HOST, VM_MAPLE2_SSH_KEY, VM_MAPLE2_USER, maple2) (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.minecraft.yml, VM_MINECRAFT_HOST, VM_MINECRAFT_SSH_KEY, VM_MINECRAFT_USER, minecraft) (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.retro.yml, VM_RETRO_HOST, VM_RETRO_SSH_KEY, VM_RETRO_USER, retro) (push) Has been cancelled
- Redesign all internal pages to warm/gold aesthetic (catalog, game detail, documentary, about, donate, community, guides, contact, server-status, login, profile, admin, not-found) - Add real cover images for all 4 games via Strapi CMS with getImageUrl helper - Integrate NextAuth v5 with Authentik OIDC authentication - Add new public pages: community, guides, contact, server-status - Add new protected pages: login, profile, admin dashboard - Remove legacy AFC/MercadoPago system entirely - Add Docker Compose split files for service isolation (main, auth, fusionfall, nier) - Add OpenFusion VM deployment configs (config.vm.ini, systemd service, README-VM) - Add NieR Reincarnation server guide and desktop client guide - Add architecture docs for multi-VM deployment - Add healthcheck, SSE, contact, newsletter, admin API routes - Add reusable UI components, skeleton loaders, activity feed, bookmark system - Update deployment and game server documentation
This commit is contained in:
105
scripts/deploy-vm.sh
Executable file
105
scripts/deploy-vm.sh
Executable file
@@ -0,0 +1,105 @@
|
||||
#!/bin/bash
|
||||
# =============================================================================
|
||||
# deploy-vm.sh - Helper script for deploying Project Afterlife on a specific VM
|
||||
# =============================================================================
|
||||
# Usage: ./deploy-vm.sh <vm-name>
|
||||
# Example: ./deploy-vm.sh web
|
||||
#
|
||||
# Available VMs: web, auth, nier, dbo, maple2, fusionfall
|
||||
# =============================================================================
|
||||
|
||||
set -e
|
||||
|
||||
VM_NAME="$1"
|
||||
PROJECT_DIR="/opt/project-afterlife"
|
||||
COMPOSE_DIR="$PROJECT_DIR/docker"
|
||||
|
||||
if [ -z "$VM_NAME" ]; then
|
||||
echo "Usage: $0 <vm-name>"
|
||||
echo "Available VMs: web, auth, nier, dbo, maple2, fusionfall"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "$VM_NAME" in
|
||||
web)
|
||||
COMPOSE_FILE="docker-compose.web.yml"
|
||||
SERVICES="web cms postgres minio nginx"
|
||||
;;
|
||||
auth)
|
||||
COMPOSE_FILE="docker-compose.auth.yml"
|
||||
SERVICES="authentik-server authentik-worker authentik-postgres authentik-redis"
|
||||
;;
|
||||
nier)
|
||||
COMPOSE_FILE="docker-compose.nier.yml"
|
||||
SERVICES="nier-server"
|
||||
;;
|
||||
dbo)
|
||||
COMPOSE_FILE="docker-compose.dbo.yml"
|
||||
SERVICES="dbo-mariadb"
|
||||
;;
|
||||
maple2)
|
||||
COMPOSE_FILE="docker-compose.maple2.yml"
|
||||
SERVICES="maple2-world maple2-login maple2-game-ch0 maple2-web maple2-mysql"
|
||||
;;
|
||||
fusionfall)
|
||||
COMPOSE_FILE="docker-compose.fusionfall.yml"
|
||||
SERVICES="openfusion"
|
||||
;;
|
||||
*)
|
||||
echo "Unknown VM: $VM_NAME"
|
||||
echo "Available VMs: web, auth, nier, dbo, maple2, fusionfall"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "=========================================="
|
||||
echo "Deploying VM: $VM_NAME"
|
||||
echo "Compose file: $COMPOSE_FILE"
|
||||
echo "Services: $SERVICES"
|
||||
echo "=========================================="
|
||||
|
||||
cd "$PROJECT_DIR"
|
||||
|
||||
echo "[1/4] Pulling latest code..."
|
||||
git pull origin main
|
||||
|
||||
echo "[2/4] Building images..."
|
||||
cd "$COMPOSE_DIR"
|
||||
docker compose -f "$COMPOSE_FILE" build
|
||||
|
||||
echo "[3/4] Starting services..."
|
||||
docker compose -f "$COMPOSE_FILE" up -d
|
||||
|
||||
echo "[4/4] Checking health..."
|
||||
sleep 5
|
||||
docker compose -f "$COMPOSE_FILE" ps
|
||||
|
||||
echo "=========================================="
|
||||
echo "Deployment of $VM_NAME complete!"
|
||||
echo "=========================================="
|
||||
|
||||
# Special handling for web VM: rebuild Next.js
|
||||
case "$VM_NAME" in
|
||||
web)
|
||||
echo "[Extra] Rebuilding Next.js app..."
|
||||
docker compose -f "$COMPOSE_FILE" exec web npm run build
|
||||
docker compose -f "$COMPOSE_FILE" restart web
|
||||
echo "Next.js rebuilt and restarted."
|
||||
;;
|
||||
maple2)
|
||||
echo "[Extra] MapleStory 2 deployed."
|
||||
echo "Remember to set GAME_IP and LOGIN_IP in servers/maple2/.env to the VM's public IP."
|
||||
;;
|
||||
nier)
|
||||
echo "[Extra] NieR Reincarnation deployed."
|
||||
echo "Remember to:"
|
||||
echo " 1. Place AssetDatabase and MasterDatabase in the data volume"
|
||||
echo " 2. Update RESOURCES_BASE_URL in .env (must be 43 chars after host)"
|
||||
echo " 3. Patch the APK with scripts/patcher.ipynb (Google Colab)"
|
||||
;;
|
||||
dbo)
|
||||
echo "[Extra] DBO Global deployed."
|
||||
echo "WARNING: DBO server is currently a placeholder. The C++ server requires"
|
||||
echo "Windows or Wine. Consider running it on a dedicated Windows VM."
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user