ghuser1 commited on
Commit
38d943a
·
verified ·
1 Parent(s): cfea436

Upload Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +38 -0
Dockerfile ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM node:22-bookworm-slim
2
+
3
+ WORKDIR /app
4
+
5
+ # better-sqlite3 may need native compilation when a prebuilt binary is unavailable.
6
+ RUN apt-get update \
7
+ && apt-get install -y --no-install-recommends ca-certificates python3 make g++ rclone \
8
+ && rm -rf /var/lib/apt/lists/*
9
+
10
+ RUN corepack enable && corepack prepare pnpm@9.15.0 --activate
11
+
12
+ COPY package.json ./
13
+ ENV npm_config_build_from_source=true
14
+ RUN pnpm install --prod=false \
15
+ && pnpm rebuild better-sqlite3
16
+
17
+ COPY src ./src
18
+ COPY public ./public
19
+ COPY drizzle ./drizzle
20
+ COPY tsconfig.json ./
21
+ COPY docker-entrypoint.sh ./docker-entrypoint.sh
22
+
23
+ ENV NODE_ENV=production
24
+ ENV PORT=7860
25
+ ENV DB_FILE=/data/data.sqlite
26
+ ENV RCLONE_CONFIG=/home/node/.config/rclone/rclone.conf
27
+ ENV RCLONE_BACKUP_REMOTE=huggingface:proptlib
28
+
29
+ RUN chmod +x ./docker-entrypoint.sh \
30
+ && mkdir -p /data /home/node/.config/rclone \
31
+ && chown -R node:node /app /data /home/node/.config
32
+
33
+ USER node
34
+
35
+ EXPOSE 7860
36
+
37
+ ENTRYPOINT ["./docker-entrypoint.sh"]
38
+ CMD ["pnpm", "start"]