fuliai commited on
Commit
efb5071
·
verified ·
1 Parent(s): afefefd

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +37 -37
Dockerfile CHANGED
@@ -1,37 +1,37 @@
1
- FROM nocodb/nocodb:latest
2
-
3
- # 切换用户并配置权限
4
- USER root
5
-
6
- # 构建参数(默认值可替换)
7
- ARG CACHEBUST=12
8
-
9
- ARG DB_POSTGRESDB_SCHEMA=$DB_POSTGRESDB_SCHEMA
10
- ARG DB_POSTGRESDB_HOST=$DB_POSTGRESDB_HOST
11
- ARG DB_POSTGRESDB_DATABASE=$DB_POSTGRESDB_DATABASE
12
- ARG DB_POSTGRESDB_PORT=$DB_POSTGRESDB_PORT
13
- ARG DB_POSTGRESDB_USER=$DB_POSTGRESDB_USER
14
- ARG DB_POSTGRESDB_PASSWORD=$DB_POSTGRESDB_PASSWORD
15
-
16
- # 创建 .nocodb_env 文件并注入密钥(需构建时传递)
17
- RUN --mount=type=secret,id=DB_POSTGRESDB_USER,mode=0444,required=true \
18
- --mount=type=secret,id=DB_POSTGRESDB_PASSWORD,mode=0444,required=true \
19
- echo "export DB_POSTGRESDB_USER=$(cat /run/secrets/DB_POSTGRESDB_USER)" > $HOME/.nocodb_env && \
20
- echo "export DB_POSTGRESDB_PASSWORD=$(cat /run/secrets/DB_POSTGRESDB_PASSWORD)" >> $HOME/.nocodb_env && \
21
- chown node:node $HOME/.nocodb_env && \
22
- chmod 600 $HOME/.nocodb_env
23
-
24
- # 设置 NC_DB 环境变量(依赖构建参数)
25
- ENV NC_DB="pg://${DB_POSTGRESDB_HOST}:${DB_POSTGRESDB_PORT}?u=${DB_POSTGRESDB_USER}&p=${DB_POSTGRESDB_PASSWORD}&d=${DB_POSTGRESDB_DATABASE}"
26
-
27
- # 配置目录权限
28
- RUN mkdir -p /usr/app /usr/src/app && \
29
- chown -R node:node /usr/app /usr/src/app && \
30
- chmod -R 755 /usr/app /usr/src/app && \
31
- chmod +x /usr/src/appEntry/start.sh
32
-
33
- # 切换回 node 用户
34
- USER node
35
-
36
- # 运行时加载环境变量并启动
37
- CMD ["/bin/sh", "-c", ". /home/node/.nocodb_env && /usr/src/appEntry/start.sh"]
 
1
+ FROM nocodb/nocodb:latest
2
+
3
+ # 切换用户并配置权限
4
+ USER root
5
+
6
+ # 构建参数(默认值可替换)
7
+ ARG CACHEBUST=12
8
+
9
+ ARG DB_POSTGRESDB_SCHEMA=$DB_POSTGRESDB_SCHEMA
10
+ ARG DB_POSTGRESDB_HOST=$DB_POSTGRESDB_HOST
11
+ ARG DB_POSTGRESDB_DATABASE=$DB_POSTGRESDB_DATABASE
12
+ ARG DB_POSTGRESDB_PORT=$DB_POSTGRESDB_PORT
13
+ ARG DB_POSTGRESDB_USER=$DB_POSTGRESDB_USER
14
+ ARG DB_POSTGRESDB_PASSWORD=$DB_POSTGRESDB_PASSWORD
15
+
16
+ # 创建 .nocodb_env 文件并注入密钥(需构建时传递)
17
+ RUN --mount=type=secret,id=DB_POSTGRESDB_USER,mode=0444,required=true \
18
+ --mount=type=secret,id=DB_POSTGRESDB_PASSWORD,mode=0444,required=true \
19
+ echo "export DB_POSTGRESDB_USER=$(cat /run/secrets/DB_POSTGRESDB_USER)" > /home/node/.nocodb_env && \
20
+ echo "export DB_POSTGRESDB_PASSWORD=$(cat /run/secrets/DB_POSTGRESDB_PASSWORD)" >> /home/node/.nocodb_env && \
21
+ chown node:node /home/node/.nocodb_env && \
22
+ chmod 600 /home/node/.nocodb_env
23
+
24
+ # 设置 NC_DB 环境变量(依赖构建参数)
25
+ ENV NC_DB="pg://${DB_POSTGRESDB_HOST}:${DB_POSTGRESDB_PORT}?u=${DB_POSTGRESDB_USER}&p=${DB_POSTGRESDB_PASSWORD}&d=${DB_POSTGRESDB_DATABASE}"
26
+
27
+ # 配置目录权限
28
+ RUN mkdir -p /usr/app /usr/src/app && \
29
+ chown -R node:node /usr/app /usr/src/app && \
30
+ chmod -R 755 /usr/app /usr/src/app && \
31
+ chmod +x /usr/src/appEntry/start.sh
32
+
33
+ # 切换回 node 用户
34
+ USER node
35
+
36
+ # 运行时加载环境变量并启动
37
+ CMD ["/bin/sh", "-c", ". /home/node/.nocodb_env && /usr/src/appEntry/start.sh"]