-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
31 lines (23 loc) · 958 Bytes
/
Dockerfile
File metadata and controls
31 lines (23 loc) · 958 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
FROM node:22-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
ffmpeg \
&& rm -rf /var/lib/apt/lists/*
# node:22-slim already has a "node" user with UID 1000
USER node
ENV HOME=/home/node
WORKDIR $HOME/app
# Copy package files first for layer caching
COPY --chown=node package.json package-lock.json ./
COPY --chown=node packages/core/package.json packages/core/
COPY --chown=node packages/server/package.json packages/server/
COPY --chown=node packages/web/package.json packages/web/
COPY --chown=node packages/cli/package.json packages/cli/
RUN npm ci
# Copy source and demo manifest
COPY --chown=node tsconfig.json turbo.json ./
COPY --chown=node packages/ packages/
COPY --chown=node sample-files/ sample-files/
# Build all packages
RUN npm run build:web && npm run build
EXPOSE 7860
CMD ["node", "packages/cli/dist/bin/clawdrive.js", "serve", "--demo", "nasa", "--read-only", "--host", "0.0.0.0", "--port", "7860"]