File tree Expand file tree Collapse file tree 3 files changed +116
-1
lines changed Expand file tree Collapse file tree 3 files changed +116
-1
lines changed Original file line number Diff line number Diff line change
1
+ FROM python:3.12-bookworm
2
+
3
+ WORKDIR /app
4
+
5
+ # 安装系统依赖
6
+ RUN apt-get update && apt-get install -y --no-install-recommends \
7
+ build-essential \
8
+ gcc \
9
+ g++ \
10
+ # libmysqlclient-dev \
11
+ # default-libmysqlclient-dev \
12
+ pkg-config \
13
+ git \
14
+ wget \
15
+ && rm -rf /var/lib/apt/lists/*
16
+
17
+ # 安装 TA-Lib
18
+ RUN wget https://github.com/ta-lib/ta-lib/releases/download/v0.6.4/ta-lib-0.6.4-src.tar.gz && \
19
+ tar -xzf ta-lib-0.6.4-src.tar.gz && \
20
+ cd ta-lib-0.6.4/ && \
21
+ ./configure --prefix=/usr && \
22
+ make && \
23
+ make install && \
24
+ cd .. && \
25
+ rm -rf ta-lib ta-lib-0.6.4-src.tar.gz
26
+
27
+ # 复制依赖文件并安装
28
+ COPY requirements.txt .
29
+ RUN pip install --no-cache-dir -r requirements.txt
30
+
31
+ # 复制项目文件
32
+ COPY . .
33
+
34
+ # 创建配置目录
35
+ RUN mkdir -p /root/.config/trader /root/.local/share/trader/log
36
+
37
+ # 设置环境变量
38
+ ENV PYTHONPATH=/app
39
+ ENV DJANGO_SETTINGS_MODULE=dashboard.settings
40
+ ENV DJANGO_ALLOW_ASYNC_UNSAFE=true
41
+
42
+ # 设置时区
43
+ ENV TZ=Asia/Shanghai
44
+ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
45
+
46
+ # 运行命令
47
+ CMD ["python" , "trader/main.py" ]
Original file line number Diff line number Diff line change
1
+ version : ' 3'
2
+
3
+ services :
4
+ mysql :
5
+ image : mysql:8.0
6
+ container_name : trader-mysql
7
+ restart : always
8
+ environment :
9
+ MYSQL_ROOT_PASSWORD : 123456
10
+ MYSQL_DATABASE : QuantDB
11
+ MYSQL_USER : quant
12
+ MYSQL_PASSWORD : 123456
13
+ volumes :
14
+ - mysql_data:/var/lib/mysql
15
+ ports :
16
+ - " 3306:3306"
17
+ command :
18
+ - --character-set-server=utf8mb4
19
+ - --collation-server=utf8mb4_unicode_ci
20
+ - --wait_timeout=31536000
21
+ - --interactive_timeout=31536000
22
+
23
+ redis :
24
+ image : redis:6.2
25
+ container_name : trader-redis
26
+ restart : always
27
+ volumes :
28
+ - redis_data:/data
29
+ ports :
30
+ - " 6379:6379"
31
+
32
+ trader :
33
+ # build:
34
+ # context: .
35
+ # dockerfile: Dockerfile
36
+ image : trader:latest
37
+ container_name : trader-app
38
+ restart : always
39
+ depends_on :
40
+ - mysql
41
+ - redis
42
+ volumes :
43
+ - ./:/app
44
+ - ../dashboard:/dashboard
45
+ - trader_logs:/app/.trader/logs
46
+ - trader_cache:/app/.trader/cache
47
+ - trader_config:/app/.trader/config
48
+ environment :
49
+ - MYSQL_HOST=mysql
50
+ - MYSQL_PORT=3306
51
+ - MYSQL_DB=QuantDB
52
+ - MYSQL_USER=quant
53
+ - MYSQL_PASSWORD=123456
54
+ - REDIS_HOST=redis
55
+ - REDIS_PORT=6379
56
+ - REDIS_DB=0
57
+ # command: python trader/main.py
58
+ entrypoint : " bash"
59
+ stdin_open : true
60
+ tty : true
61
+
62
+ volumes :
63
+ mysql_data :
64
+ redis_data :
65
+ trader_logs :
66
+ trader_cache :
67
+ trader_config :
Original file line number Diff line number Diff line change 21
21
elif sys .platform == 'win32' :
22
22
sys .path .append (r'E:\github\dashboard' )
23
23
else :
24
- sys .path .append ('/root/gitee/dashboard' )
24
+ # sys.path.append('/root/gitee/dashboard')
25
+ sys .path .append ('/dashboard' )
25
26
os .environ ["DJANGO_SETTINGS_MODULE" ] = "dashboard.settings"
26
27
os .environ ["DJANGO_ALLOW_ASYNC_UNSAFE" ] = "true"
27
28
django .setup ()
You can’t perform that action at this time.
0 commit comments