Merge pull request #20 from fanyinghao/fix-docker-compose

Enhance Docker setup
This commit is contained in:
tinkle-community
2025-10-30 00:07:38 +08:00
committed by GitHub
2 changed files with 32 additions and 7 deletions
+26 -6
View File
@@ -1,20 +1,30 @@
# Multi-stage build for NOFX AI Trading System
FROM golang:1.24-alpine AS backend-builder
FROM golang:1.25-alpine AS backend-builder
# Install build dependencies including TA-Lib
RUN apk add --no-cache \
RUN apk update && \
apk add --no-cache \
git \
make \
gcc \
g++ \
musl-dev \
wget \
tar
tar \
autoconf \
automake
# Install TA-Lib
RUN wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz && \
tar -xzf ta-lib-0.4.0-src.tar.gz && \
cd ta-lib && \
if [ "$(uname -m)" = "aarch64" ]; then \
CONFIG_GUESS=$(find /usr/share -name config.guess | head -1) && \
CONFIG_SUB=$(find /usr/share -name config.sub | head -1) && \
cp "$CONFIG_GUESS" config.guess && \
cp "$CONFIG_SUB" config.sub && \
chmod +x config.guess config.sub; \
fi && \
./configure --prefix=/usr && \
make && \
make install && \
@@ -56,8 +66,9 @@ RUN npm run build
# Final stage
FROM alpine:latest
# Install runtime dependencies
RUN apk add --no-cache \
# Update package index and install runtime dependencies
RUN apk update && \
apk add --no-cache \
ca-certificates \
tzdata \
wget \
@@ -65,12 +76,21 @@ RUN apk add --no-cache \
make \
gcc \
g++ \
musl-dev
musl-dev \
autoconf \
automake
# Install TA-Lib runtime
RUN wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz && \
tar -xzf ta-lib-0.4.0-src.tar.gz && \
cd ta-lib && \
if [ "$(uname -m)" = "aarch64" ]; then \
CONFIG_GUESS=$(find /usr/share -name config.guess | head -1) && \
CONFIG_SUB=$(find /usr/share -name config.sub | head -1) && \
cp "$CONFIG_GUESS" config.guess && \
cp "$CONFIG_SUB" config.sub && \
chmod +x config.guess config.sub; \
fi && \
./configure --prefix=/usr && \
make && \
make install && \
+6 -1
View File
@@ -14,6 +14,7 @@ services:
- ./config.json:/app/config.json:ro
- ./decision_logs:/app/decision_logs
- /etc/localtime:/etc/localtime:ro # 同步主机时间
- frontend-dist:/app/web/dist-shared:rw # 共享前端文件
environment:
- TZ=Asia/Shanghai # 使用中国时区
networks:
@@ -24,6 +25,7 @@ services:
timeout: 10s
retries: 3
start_period: 60s
command: sh -c "cp -r /app/web/dist/* /app/web/dist-shared/ 2>/dev/null || true && exec ./nofx"
# Frontend (Nginx)
nofx-frontend:
@@ -33,13 +35,16 @@ services:
ports:
- "3000:80"
volumes:
- ./web/dist:/usr/share/nginx/html:ro
- frontend-dist:/usr/share/nginx/html:ro
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
networks:
- nofx-network
depends_on:
- nofx
volumes:
frontend-dist:
networks:
nofx-network:
driver: bridge