File size: 3,110 Bytes
1d6bdab
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/bin/bash

# 检测操作系统类型
OS_TYPE=$(uname -s)
echo "检测到操作系统: $OS_TYPE"

# 检查Docker是否安装
if ! command -v docker &> /dev/null; then
    echo "错误: Docker未安装"
    
    if [[ "$OS_TYPE" == "Darwin" ]]; then
        echo "在macOS上安装Docker的方法:"
        echo "1. 访问 https://docs.docker.com/desktop/install/mac-install/ 下载Docker Desktop"
        echo "2. 安装并启动Docker Desktop"
    elif [[ "$OS_TYPE" == "Linux" ]]; then
        echo "在Linux上安装Docker的方法:"
        echo "1. 运行以下命令:"
        echo "   sudo apt-get update"
        echo "   sudo apt-get install docker.io docker-compose"
        echo "2. 启动Docker服务:"
        echo "   sudo systemctl start docker"
        echo "   sudo systemctl enable docker"
    elif [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
        echo "在Windows上安装Docker的方法:"
        echo "1. 访问 https://docs.docker.com/desktop/install/windows-install/ 下载Docker Desktop"
        echo "2. 安装并启动Docker Desktop"
    fi
    
    exit 1
fi

echo "Docker已安装"

# 检查Docker Compose是否安装
if ! command -v docker-compose &> /dev/null; then
    echo "错误: Docker Compose未安装"
    
    if [[ "$OS_TYPE" == "Darwin" ]]; then
        echo "Docker Desktop for Mac已包含Docker Compose"
    elif [[ "$OS_TYPE" == "Linux" ]]; then
        echo "在Linux上安装Docker Compose的方法:"
        echo "1. 运行以下命令:"
        echo "   sudo apt-get install docker-compose"
    elif [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
        echo "Docker Desktop for Windows已包含Docker Compose"
    fi
    
    exit 1
fi

echo "Docker Compose已安装"

# 检查Docker是否正在运行
if ! docker info &> /dev/null; then
    echo "错误: Docker未运行"
    
    if [[ "$OS_TYPE" == "Darwin" ]]; then
        echo "请启动Docker Desktop应用程序"
    elif [[ "$OS_TYPE" == "Linux" ]]; then
        echo "请运行以下命令启动Docker服务:"
        echo "sudo systemctl start docker"
    elif [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
        echo "请启动Docker Desktop应用程序"
    fi
    
    exit 1
fi

echo "Docker正在运行"

# 检查是否有足够的磁盘空间
FREE_SPACE=$(df -h . | awk 'NR==2 {print $4}')
echo "可用磁盘空间: $FREE_SPACE"

# 检查是否有.env文件
if [ ! -f "owl/.env" ]; then
    echo "警告: 未找到owl/.env文件"
    echo "请运行以下命令创建环境变量文件:"
    echo "cp owl/.env_template owl/.env"
    echo "然后编辑owl/.env文件,填写必要的API密钥"
else
    echo "环境变量文件已存在"
fi

echo "所有检查完成,您的系统已准备好构建和运行OWL项目的Docker容器"
echo "请运行以下命令构建Docker镜像:"

if [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == CYGWIN* ]] || [[ "$OS_TYPE" == MSYS* ]]; then
    echo "build_docker.bat"
else
    echo "./build_docker.sh"
fi