aiflow / Dockerfile
hijnu's picture
Update Dockerfile
b2250e0 verified
raw
history blame
1.16 kB
# 构建阶段,安装所有必要的工具和依赖
FROM node:slim as builder
# 设置工作目录
WORKDIR /home/node/app
# 安装 Python3, pip, rclone, fuse 及其他常用工具
RUN apt-get update && \
apt-get install -y --no-install-recommends \
python3 python3-pip rclone fuse \
wget curl unzip vim git procps lsof net-tools \
ca-certificates openssl gnupg && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# 全局安装 n8n
RUN npm install n8n -g
# 运行阶段
FROM node:slim
# 从构建阶段复制必要的文件
COPY --from=builder /usr/bin/rclone /usr/bin/rclone
COPY --from=builder /usr/bin/fusermount /usr/bin/fusermount
COPY --from=builder /home/node/app /home/node/app
# 设置工作目录
WORKDIR /home/node/app
# 复制启动脚本并赋予执行权限
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
# 切换到 node 用户
USER node
# 设置环境变量
ENV N8N_HOST=0.0.0.0
ENV N8N_PORT=5678
ENV N8N_PROTOCOL=https
ENV WEBHOOK_URL=https://hijnu-n8n.hf.space/
ENV GENERIC_TIMEZONE=Asia/Shanghai
# 暴露 n8n 端口
EXPOSE 5678
# 设置启动脚本为入口点
ENTRYPOINT ["/entrypoint.sh"]