70 lines
1.6 KiB
Bash
70 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
# SublinkX 部署脚本
|
|
set -e
|
|
|
|
PROJECT_DIR="/opt/sublinkx"
|
|
COMPOSE_FILE="$PROJECT_DIR/docker-compose.yml"
|
|
|
|
echo "开始部署 SublinkX..."
|
|
|
|
# 创建目录
|
|
echo "创建必要的目录..."
|
|
mkdir -p "$PROJECT_DIR"/{db,template,logs}
|
|
|
|
# 创建 Docker Compose 文件
|
|
cat > "$COMPOSE_FILE" << 'EOF'
|
|
version: '3.8'
|
|
|
|
services:
|
|
sublinkx:
|
|
image: jaaksi/sublinkx:latest
|
|
container_name: sublinkx
|
|
ports:
|
|
- "8000:8000"
|
|
volumes:
|
|
- ./db:/app/db
|
|
- ./template:/app/template
|
|
- ./logs:/app/logs
|
|
environment:
|
|
- TZ=Asia/Shanghai
|
|
restart: unless-stopped
|
|
networks:
|
|
- sublinkx-network
|
|
|
|
networks:
|
|
sublinkx-network:
|
|
driver: bridge
|
|
EOF
|
|
|
|
echo "Docker Compose 文件已创建: $COMPOSE_FILE"
|
|
|
|
# 部署服务
|
|
cd "$PROJECT_DIR"
|
|
echo "启动 SublinkX 服务..."
|
|
docker compose up -d
|
|
|
|
# 检查服务状态
|
|
echo "等待服务启动..."
|
|
sleep 10
|
|
|
|
if docker ps | grep -q sublinkx; then
|
|
SERVER_IP=$(hostname -I | awk '{print $1}')
|
|
echo "=================================================="
|
|
echo "✅ SublinkX 部署成功!"
|
|
echo "访问地址: http://${SERVER_IP}:8000"
|
|
echo "项目目录: $PROJECT_DIR"
|
|
echo "数据目录: $PROJECT_DIR/db"
|
|
echo "模板目录: $PROJECT_DIR/template"
|
|
echo "日志目录: $PROJECT_DIR/logs"
|
|
echo "=================================================="
|
|
echo ""
|
|
echo "常用命令:"
|
|
echo "查看日志: docker logs -f sublinkx"
|
|
echo "停止服务: docker compose down"
|
|
echo "重启服务: docker compose restart"
|
|
else
|
|
echo "❌ SublinkX 启动失败,请检查日志: docker logs sublinkx"
|
|
exit 1
|
|
fi
|