File size: 1,374 Bytes
7695663 47534cd 7695663 09b474c 7695663 c03007d e41eef9 e3a4f3c 7695663 c03007d cd8aac4 7695663 09b474c 7695663 c03007d |
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 |
FROM nikolaik/python-nodejs:python3.10-nodejs20
USER root
# 安装 Traefik
ARG TRAEFIK_VERSION=3.1.6
ENV TRAEFIK_CONFIG_FILE=/home/pn/app/traefik/traefik.yml
RUN wget -q https://github.com/traefik/traefik/releases/download/v${TRAEFIK_VERSION}/traefik_v${TRAEFIK_VERSION}_linux_amd64.tar.gz \
&& tar -xzf traefik_v${TRAEFIK_VERSION}_linux_amd64.tar.gz \
&& mv traefik /usr/local/bin/ \
&& rm traefik_v${TRAEFIK_VERSION}_linux_amd64.tar.gz \
# 安装 jq 用于解析 JSON,http-server 和 gettext-base(包含 envsubst)
&& apt-get update && apt-get install -y jq gettext-base curl \
&& npm install -g serve \
# 安装 n8n
&& npm install -g n8n
# 切换到 pn 用户
USER pn
# 设置工作目录
WORKDIR /home/pn/app
# 创建必要的目录
RUN mkdir -p /home/pn/app/traefik /home/pn/app/node /home/pn/app/n8n && \
chown -R pn:pn /home/pn /home/pn/app
# 复制配置文件和启动脚本
COPY --chown=pn:pn traefik/traefik.yml /home/pn/app/traefik/
COPY --chown=pn:pn traefik/dynamic.yml /home/pn/app/traefik/
COPY --chown=pn:pn start.sh /home/pn/app/start.sh
COPY --chown=pn:pn services.json /home/pn/app/services.json
RUN chmod +x /home/pn/app/start.sh
# 设置环境变量
ENV TRAEFIK_PORT=7860 \
PYTHON_PORT=8000 \
NODE_PORT=8001 \
N8N_PORT=5678
# 启动容器时运行启动脚本
CMD ["/home/pn/app/start.sh"]
|