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"]
|