File size: 1,065 Bytes
421cf5e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/env bash
set -euo pipefail
# On a cloud Ubuntu/Debian VM with Docker:
#   git clone https://huggingface.co/manus4oHER/metin2-private-server
#   cd metin2-private-server/cloud && bash deploy.sh
# Or: bash deploy.sh <PUBLIC_IP> <DB_PASSWORD>

PUBLIC_IP="${1:-$(curl -4 -s ifconfig.me || hostname -I | awk '{print $1}')}"
DB_PASS="${2:-$(openssl rand -hex 12)}"
ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$ROOT_DIR"

if ! command -v docker >/dev/null 2>&1; then
  echo "Install Docker first: https://docs.docker.com/engine/install/"
  exit 1
fi

cat > .env <<EOF
AUTH_SERVER_PORT=11002
AUTH_SERVER_ADDRESS=0.0.0.0
GAME_SERVER_PORT=13001
GAME_SERVER_ADDRESS=0.0.0.0
PUBLIC_IP=${PUBLIC_IP}
LOG_LEVEL=info
DB_PORT=3306
DB_HOST=database
DB_ROOT_PASSWORD=${DB_PASS}
AUTH_DB_DATABASE_NAME=auth
GAME_DB_DATABASE_NAME=game
DB_USER=root
CACHE_PORT=6379
CACHE_HOST=cache
EOF

echo "PUBLIC_IP=${PUBLIC_IP}"
echo "DB password stored in .env"
docker compose up -d --build
docker compose ps
echo "Auth: ${PUBLIC_IP}:11002  Game: ${PUBLIC_IP}:13001  login admin/admin"