From 04a0a285551525b3a6331506248d2876f4797a54 Mon Sep 17 00:00:00 2001
From: Sofiane Lasri <alasri250@gmail.com>
Date: Thu, 3 Apr 2025 10:27:18 +0000
Subject: [PATCH] fixed

---
 Dockerfile         | 25 ++++++++++++++++++-------
 docker-compose.yml |  9 ++++++++-
 2 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index a5cca0a..f11e9a2 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,18 +1,29 @@
-FROM ghcr.io/enricoros/big-agi:development
+FROM node:22-alpine
 
+RUN apk add --no-cache git
 RUN apk add --no-cache openssl
 
 WORKDIR /app
-RUN mv middleware_BASIC_AUTH.ts middleware.ts
+RUN git clone https://github.com/enricoros/big-AGI.git .
+
+RUN if [ -f middleware_BASIC_AUTH.ts ]; then \
+        mv middleware_BASIC_AUTH.ts middleware.ts; \
+    fi
+
+# Build the application
+ENV NODE_ENV=development
+RUN npm ci
 
 ENV NODE_ENV=production
 RUN npm run build
 
-# Copy Built app
-COPY --from=builder --chown=nextjs:nodejs /app/public ./public
-COPY --from=builder --chown=nextjs:nodejs /app/.next ./.next
-COPY --from=builder --chown=nextjs:nodejs /app/node_modules ./node_modules
-COPY --from=builder --chown=nextjs:nodejs /app/src/server/prisma ./src/server/prisma
+# Reduce installed packages to production-only
+RUN npm prune --production
+
+ENV NODE_ENV=production
+ENV PATH=$PATH:/app/node_modules/.bin
+
+EXPOSE 3000
 
 # Start the application
 CMD ["next", "start"]
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index 0961e2f..fc2dda3 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,6 +1,8 @@
 services:
   big-agi:
-    build: .
+    build:
+      context: .
+      dockerfile: Dockerfile
     ports:
       - "1004:3000"
     command: [ "next", "start", "-p", "3000" ]
@@ -14,6 +16,8 @@ services:
     restart: unless-stopped
     environment:
       - POSTGRES_PRISMA_URL=postgresql://bigagi:${POSTGRES_PASSWORD}@postgres:5432/bigagi?schema=public
+      - HTTP_BASIC_AUTH_USERNAME=${HTTP_BASIC_AUTH_USERNAME}
+      - HTTP_BASIC_AUTH_PASSWORD=${HTTP_BASIC_AUTH_PASSWORD}
     depends_on:
       - postgres
 
@@ -38,3 +42,6 @@ services:
       - /var/run/docker.sock:/var/run/docker.sock
     command: --schedule "0 0 * * *" --cleanup
     restart: unless-stopped
+
+volumes:
+  postgres_data:
-- 
GitLab