Update Dockerfile
Browse files- Dockerfile +11 -9
Dockerfile
CHANGED
@@ -1,18 +1,20 @@
|
|
1 |
# 使用 PostgreSQL 官方镜像
|
2 |
FROM postgres:latest
|
3 |
|
4 |
-
# 后台中设置环境变量
|
5 |
ARG POSTGRES_USER
|
6 |
ARG POSTGRES_PASSWORD
|
7 |
ARG POSTGRES_DB
|
8 |
ARG WEBHOOK_URL
|
9 |
ARG requirements
|
|
|
|
|
10 |
|
11 |
# 设置 n8n 环境变量
|
12 |
ENV N8N_HOST=0.0.0.0
|
13 |
ENV N8N_PORT=7860
|
14 |
ENV N8N_PROTOCOL=https
|
15 |
-
ENV WEBHOOK_URL=$WEBHOOK_URL
|
16 |
ENV GENERIC_TIMEZONE=Asia/Shanghai
|
17 |
ENV N8N_METRICS=true
|
18 |
ENV QUEUE_HEALTH_CHECK_ACTIVE=true
|
@@ -21,21 +23,21 @@ ENV N8N_PAYLOAD_SIZE_MAX=256
|
|
21 |
ENV DB_TYPE=postgresdb
|
22 |
ENV DB_POSTGRESDB_HOST=localhost
|
23 |
ENV DB_POSTGRESDB_PORT=5432
|
24 |
-
ENV DB_POSTGRESDB_USER=$POSTGRES_USER
|
25 |
-
ENV DB_POSTGRESDB_PASSWORD=$POSTGRES_PASSWORD
|
26 |
-
ENV DB_POSTGRESDB_DATABASE=$POSTGRES_DB
|
27 |
# 设置其它环境变量
|
28 |
ENV VIRTUAL_ENV=/opt/venv
|
29 |
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
|
30 |
|
31 |
# 将应用程序代码和启动脚本复制到容器中
|
32 |
-
COPY run.sh
|
33 |
|
34 |
# 切换到 root 用户进行安装和用户修改
|
35 |
USER root
|
36 |
|
37 |
# 设置脚本可执行权限
|
38 |
-
RUN chmod +x
|
39 |
|
40 |
# 更新包管理器并安装必要软件包,包括 Python3、venv、curl、Node.js、n8n
|
41 |
RUN apt-get update && apt-get install -y curl unzip gnupg build-essential sudo vim git procps lsof net-tools ca-certificates openssl tzdata python3-venv gosu && \
|
@@ -56,7 +58,7 @@ RUN apt-get update && apt-get install -y curl unzip gnupg build-essential sudo v
|
|
56 |
# 创建虚拟环境并安装 Python 包
|
57 |
python3 -m venv $VIRTUAL_ENV && \
|
58 |
$VIRTUAL_ENV/bin/pip install --upgrade pip && \
|
59 |
-
$VIRTUAL_ENV/bin/pip install $requirements
|
60 |
|
61 |
# 更改现有的 postgres 用户 UID 和 GID 为 1000
|
62 |
usermod -u 1000 postgres && groupmod -g 1000 postgres && \
|
@@ -76,7 +78,7 @@ RUN initdb -D /var/lib/postgresql/data && \
|
|
76 |
pg_ctl stop -D /var/lib/postgresql/data
|
77 |
|
78 |
# 设置工作目录
|
79 |
-
WORKDIR
|
80 |
|
81 |
# 启动容器时执行run.sh脚本
|
82 |
CMD ["./run.sh"]
|
|
|
1 |
# 使用 PostgreSQL 官方镜像
|
2 |
FROM postgres:latest
|
3 |
|
4 |
+
# 后台中设置环境变量[settings中设置Variables]
|
5 |
ARG POSTGRES_USER
|
6 |
ARG POSTGRES_PASSWORD
|
7 |
ARG POSTGRES_DB
|
8 |
ARG WEBHOOK_URL
|
9 |
ARG requirements
|
10 |
+
ARG WORKDIR #//${WORKDIR:-/app}
|
11 |
+
ARG NODEJS_VER #//${NODEJS_VER:-20}
|
12 |
|
13 |
# 设置 n8n 环境变量
|
14 |
ENV N8N_HOST=0.0.0.0
|
15 |
ENV N8N_PORT=7860
|
16 |
ENV N8N_PROTOCOL=https
|
17 |
+
ENV WEBHOOK_URL=${WEBHOOK_URL:-https://aigenai-db.hf.space/}
|
18 |
ENV GENERIC_TIMEZONE=Asia/Shanghai
|
19 |
ENV N8N_METRICS=true
|
20 |
ENV QUEUE_HEALTH_CHECK_ACTIVE=true
|
|
|
23 |
ENV DB_TYPE=postgresdb
|
24 |
ENV DB_POSTGRESDB_HOST=localhost
|
25 |
ENV DB_POSTGRESDB_PORT=5432
|
26 |
+
ENV DB_POSTGRESDB_USER=${POSTGRES_USER:-n8n}
|
27 |
+
ENV DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD:-n8n}
|
28 |
+
ENV DB_POSTGRESDB_DATABASE=${POSTGRES_DB:-n8n}
|
29 |
# 设置其它环境变量
|
30 |
ENV VIRTUAL_ENV=/opt/venv
|
31 |
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
|
32 |
|
33 |
# 将应用程序代码和启动脚本复制到容器中
|
34 |
+
COPY run.sh ${WORKDIR:-/app}/run.sh
|
35 |
|
36 |
# 切换到 root 用户进行安装和用户修改
|
37 |
USER root
|
38 |
|
39 |
# 设置脚本可执行权限
|
40 |
+
RUN chmod +x ${WORKDIR:-/app}/run.sh
|
41 |
|
42 |
# 更新包管理器并安装必要软件包,包括 Python3、venv、curl、Node.js、n8n
|
43 |
RUN apt-get update && apt-get install -y curl unzip gnupg build-essential sudo vim git procps lsof net-tools ca-certificates openssl tzdata python3-venv gosu && \
|
|
|
58 |
# 创建虚拟环境并安装 Python 包
|
59 |
python3 -m venv $VIRTUAL_ENV && \
|
60 |
$VIRTUAL_ENV/bin/pip install --upgrade pip && \
|
61 |
+
$VIRTUAL_ENV/bin/pip install ${requirements:-requests}
|
62 |
|
63 |
# 更改现有的 postgres 用户 UID 和 GID 为 1000
|
64 |
usermod -u 1000 postgres && groupmod -g 1000 postgres && \
|
|
|
78 |
pg_ctl stop -D /var/lib/postgresql/data
|
79 |
|
80 |
# 设置工作目录
|
81 |
+
WORKDIR ${WORKDIR:-/app}
|
82 |
|
83 |
# 启动容器时执行run.sh脚本
|
84 |
CMD ["./run.sh"]
|