fuliai commited on
Commit
4edf9db
·
verified ·
1 Parent(s): cda17f4

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +18 -14
Dockerfile CHANGED
@@ -1,5 +1,11 @@
1
  FROM nocodb/nocodb:latest
2
 
 
 
 
 
 
 
3
  # 切换用户并配置权限
4
  USER root
5
 
@@ -13,22 +19,20 @@ 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
- # 配置目录权限
25
- RUN mkdir -p /usr/app /usr/src/app && \
26
- chown -R node:node /usr/app /usr/src/app && \
27
- chmod -R 755 /usr/app /usr/src/app && \
28
- chmod +x /usr/src/appEntry/start.sh
29
 
30
  # 切换回 node 用户
31
  USER node
32
 
33
- # 运行时加载环境变量、设置数据库连接并启动,加载后删除敏感文件
34
- CMD ["/bin/sh", "-c", ". /home/node/.nocodb_env && export NC_DB=\"pg://${DB_POSTGRESDB_HOST}:${DB_POSTGRESDB_PORT}?u=${DB_POSTGRESDB_USER}&p=${DB_POSTGRESDB_PASSWORD}&d=${DB_POSTGRESDB_DATABASE}\" && rm -f /home/node/.nocodb_env && /usr/src/appEntry/start.sh"]
 
1
  FROM nocodb/nocodb:latest
2
 
3
+ # 添加镜像元信息
4
+ LABEL maintainer="ai来事"
5
+ LABEL description="NocoDB是一个开源的Airtable替代方案,可以将任何MySQL、PostgreSQL、SQL Server、SQLite和MariaDB转换为智能电子表格。"
6
+ LABEL video.tutorial="https://www.bilibili.com/video/BV1SP2mYBEjC/"
7
+ LABEL github.repository="https://github.com/aigem/hf-nocodb"
8
+
9
  # 切换用户并配置权限
10
  USER root
11
 
 
19
  ARG DB_POSTGRESDB_USER=$DB_POSTGRESDB_USER
20
  ARG DB_POSTGRESDB_PASSWORD=$DB_POSTGRESDB_PASSWORD
21
 
22
+ # 下载脚本文件
23
+ RUN curl -o /tmp/setup.sh https://raw.githubusercontent.com/aigem/hf-nocodb/new/setup.sh && \
24
+ curl -o /tmp/start.sh https://raw.githubusercontent.com/aigem/hf-nocodb/new/start.sh && \
25
+ mv /tmp/setup.sh /usr/src/appEntry/ && \
26
+ mv /tmp/start.sh /usr/src/appEntry/ && \
27
+ chmod +x /usr/src/appEntry/setup.sh /usr/src/appEntry/start.sh
28
+
29
+ # 执行设置脚本
30
  RUN --mount=type=secret,id=DB_POSTGRESDB_USER,mode=0444,required=true \
31
+ --mount=type=secret,id=DB_POSTGRESDB_PASSWORD,mode=0444,required=true \
32
+ /usr/src/appEntry/setup.sh
 
 
 
 
 
 
 
 
 
33
 
34
  # 切换回 node 用户
35
  USER node
36
 
37
+ # 运行时执行启动脚本
38
+ CMD ["/usr/src/appEntry/start.sh"]