Update Dockerfile
Browse files- Dockerfile +9 -3
Dockerfile
CHANGED
|
@@ -2,12 +2,14 @@
|
|
| 2 |
FROM node:20-slim AS builder
|
| 3 |
WORKDIR /app
|
| 4 |
|
|
|
|
| 5 |
RUN apt-get update && apt-get install -y git python3 make g++ && rm -rf /var/lib/apt/lists/*
|
| 6 |
RUN npm install -g bun
|
| 7 |
|
| 8 |
-
#
|
| 9 |
-
RUN git clone https://github.com/iOfficeAI/AionUi
|
| 10 |
|
|
|
|
| 11 |
RUN bun install
|
| 12 |
RUN bun run build:renderer:web
|
| 13 |
RUN node scripts/build-server.mjs
|
|
@@ -16,16 +18,20 @@ RUN node scripts/build-server.mjs
|
|
| 16 |
FROM oven/bun:latest AS runtime
|
| 17 |
WORKDIR /app
|
| 18 |
|
|
|
|
| 19 |
COPY --from=builder /app/dist-server ./dist-server
|
| 20 |
COPY --from=builder /app/out/renderer ./out/renderer
|
| 21 |
COPY --from=builder /app/package.json ./
|
| 22 |
|
|
|
|
| 23 |
ENV PORT=7860
|
| 24 |
ENV NODE_ENV=production
|
| 25 |
ENV ALLOW_REMOTE=true
|
| 26 |
ENV DATA_DIR=/data
|
| 27 |
|
|
|
|
| 28 |
RUN mkdir -p /data
|
| 29 |
EXPOSE 7860
|
| 30 |
|
| 31 |
-
|
|
|
|
|
|
| 2 |
FROM node:20-slim AS builder
|
| 3 |
WORKDIR /app
|
| 4 |
|
| 5 |
+
# Install system tools required for node-gyp (better-sqlite3) and git
|
| 6 |
RUN apt-get update && apt-get install -y git python3 make g++ && rm -rf /var/lib/apt/lists/*
|
| 7 |
RUN npm install -g bun
|
| 8 |
|
| 9 |
+
# Clone the official AionUi repository
|
| 10 |
+
RUN git clone https://github.com/iOfficeAI/AionUi.git .
|
| 11 |
|
| 12 |
+
# Build the application using the project's own scripts
|
| 13 |
RUN bun install
|
| 14 |
RUN bun run build:renderer:web
|
| 15 |
RUN node scripts/build-server.mjs
|
|
|
|
| 18 |
FROM oven/bun:latest AS runtime
|
| 19 |
WORKDIR /app
|
| 20 |
|
| 21 |
+
# Copy built artifacts and package.json from the builder
|
| 22 |
COPY --from=builder /app/dist-server ./dist-server
|
| 23 |
COPY --from=builder /app/out/renderer ./out/renderer
|
| 24 |
COPY --from=builder /app/package.json ./
|
| 25 |
|
| 26 |
+
# Hugging Face specific environment configuration
|
| 27 |
ENV PORT=7860
|
| 28 |
ENV NODE_ENV=production
|
| 29 |
ENV ALLOW_REMOTE=true
|
| 30 |
ENV DATA_DIR=/data
|
| 31 |
|
| 32 |
+
# Create data directory for SQLite persistence
|
| 33 |
RUN mkdir -p /data
|
| 34 |
EXPOSE 7860
|
| 35 |
|
| 36 |
+
# Start the server
|
| 37 |
+
CMD ["bun", "dist-server/server.mjs"]
|