|  |  |  | @ -31,7 +31,11 @@ FROM base AS builder | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | ARG USE_CN_MIRROR | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | ENV NEXT_PUBLIC_BASE_PATH="" | 
		
	
		
			
				|  |  |  |  | ENV NEXT_PUBLIC_SERVICE_MODE="server" \ | 
		
	
		
			
				|  |  |  |  |     APP_URL="http://192.168.15.199:3210" \ | 
		
	
		
			
				|  |  |  |  |     DATABASE_DRIVER="node" \ | 
		
	
		
			
				|  |  |  |  |     DATABASE_URL="postgresql://postgres:uWNZugjBqixf8dxC@postgresql:5432/lobechat" \ | 
		
	
		
			
				|  |  |  |  |     KEY_VAULTS_SECRET="Kix2wcUONd4CX51E/ZPAd36BqM4wzJgKjPtz2sGztqQ=" | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | # Sentry | 
		
	
		
			
				|  |  |  |  | ENV NEXT_PUBLIC_SENTRY_DSN="" \ | 
		
	
	
		
			
				
					|  |  |  | @ -67,12 +71,12 @@ RUN \ | 
		
	
		
			
				|  |  |  |  |     # Enable corepack | 
		
	
		
			
				|  |  |  |  |     && corepack enable \ | 
		
	
		
			
				|  |  |  |  |     # Use pnpm for corepack | 
		
	
		
			
				|  |  |  |  |     && corepack use $(sed -n 's/.*"packageManager": "\(.*\)".*/\1/p' package.json) \ | 
		
	
		
			
				|  |  |  |  |     && corepack use pnpm \ | 
		
	
		
			
				|  |  |  |  |     # Install the dependencies | 
		
	
		
			
				|  |  |  |  |     && pnpm i \ | 
		
	
		
			
				|  |  |  |  |     # Add sharp dependencies | 
		
	
		
			
				|  |  |  |  |     # Add sharp and db migration dependencies | 
		
	
		
			
				|  |  |  |  |     && mkdir -p /deps \ | 
		
	
		
			
				|  |  |  |  |     && pnpm add sharp --prefix /deps | 
		
	
		
			
				|  |  |  |  |     && pnpm add sharp pg drizzle-orm --prefix /deps | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | COPY . . | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
	
		
			
				
					|  |  |  | @ -88,7 +92,16 @@ COPY --from=builder /app/public /app/public | 
		
	
		
			
				|  |  |  |  | # https://nextjs.org/docs/advanced-features/output-file-tracing | 
		
	
		
			
				|  |  |  |  | COPY --from=builder /app/.next/standalone /app/ | 
		
	
		
			
				|  |  |  |  | COPY --from=builder /app/.next/static /app/.next/static | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | # copy dependencies | 
		
	
		
			
				|  |  |  |  | COPY --from=builder /deps/node_modules/.pnpm /app/node_modules/.pnpm | 
		
	
		
			
				|  |  |  |  | COPY --from=builder /deps/node_modules/pg /app/node_modules/pg | 
		
	
		
			
				|  |  |  |  | COPY --from=builder /deps/node_modules/drizzle-orm /app/node_modules/drizzle-orm | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | # Copy database migrations | 
		
	
		
			
				|  |  |  |  | COPY --from=builder /app/src/database/server/migrations /app/migrations | 
		
	
		
			
				|  |  |  |  | COPY --from=builder /app/scripts/migrateServerDB/docker.cjs /app/docker.cjs | 
		
	
		
			
				|  |  |  |  | COPY --from=builder /app/scripts/migrateServerDB/errorHint.js /app/errorHint.js | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | ## Production image, copy all the files and run next | 
		
	
		
			
				|  |  |  |  | FROM base | 
		
	
	
		
			
				
					|  |  |  | @ -100,17 +113,36 @@ ENV NODE_ENV="production" \ | 
		
	
		
			
				|  |  |  |  |     NODE_TLS_REJECT_UNAUTHORIZED="" | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | # set hostname to localhost | 
		
	
		
			
				|  |  |  |  | ENV HOSTNAME="0.0.0.0" \ | 
		
	
		
			
				|  |  |  |  | ENV HOSTNAME="192.168.15.199" \ | 
		
	
		
			
				|  |  |  |  |     PORT="3210" | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | # General Variables | 
		
	
		
			
				|  |  |  |  | ENV ACCESS_CODE="" \ | 
		
	
		
			
				|  |  |  |  |     APP_URL="http://192.168.15.199:3210" \ | 
		
	
		
			
				|  |  |  |  |     API_KEY_SELECT_MODE="" \ | 
		
	
		
			
				|  |  |  |  |     DEFAULT_AGENT_CONFIG="" \ | 
		
	
		
			
				|  |  |  |  |     SYSTEM_AGENT="" \ | 
		
	
		
			
				|  |  |  |  |     FEATURE_FLAGS="" \ | 
		
	
		
			
				|  |  |  |  |     PROXY_URL="" | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | # Database | 
		
	
		
			
				|  |  |  |  | ENV KEY_VAULTS_SECRET="Kix2wcUONd4CX51E/ZPAd36BqM4wzJgKjPtz2sGztqQ=" \ | 
		
	
		
			
				|  |  |  |  |     DATABASE_DRIVER="node" \ | 
		
	
		
			
				|  |  |  |  |     DATABASE_URL="postgresql://postgres:uWNZugjBqixf8dxC@postgresql:5432/lobechat" | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | # Next Auth | 
		
	
		
			
				|  |  |  |  | ENV NEXT_AUTH_SECRET="NX2kaPE923dt6BL2U8e9oSre5RfoT7hg" \ | 
		
	
		
			
				|  |  |  |  |     NEXT_AUTH_SSO_PROVIDERS="casdoor" \ | 
		
	
		
			
				|  |  |  |  |     NEXTAUTH_URL="http://192.168.15.199:3210/api/auth" | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | # S3 | 
		
	
		
			
				|  |  |  |  | ENV NEXT_PUBLIC_S3_DOMAIN="" \ | 
		
	
		
			
				|  |  |  |  |     S3_PUBLIC_DOMAIN="http://192.168.15.199:9000" \ | 
		
	
		
			
				|  |  |  |  |     S3_ACCESS_KEY_ID="soaucnP8Bip0TDdUjxng" \ | 
		
	
		
			
				|  |  |  |  |     S3_BUCKET="casdoor" \ | 
		
	
		
			
				|  |  |  |  |     S3_ENDPOINT="http://192.168.15.199:9000" \ | 
		
	
		
			
				|  |  |  |  |     S3_SECRET_ACCESS_KEY="ZPUzvY34umfcfxvWKSv0P00vczVMB6YmgJS5J9eO" | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | # Model Variables | 
		
	
		
			
				|  |  |  |  | ENV \ | 
		
	
		
			
				|  |  |  |  |     # AI21 | 
		
	
	
		
			
				
					|  |  |  | @ -168,7 +200,7 @@ ENV \ | 
		
	
		
			
				|  |  |  |  |     # 01.AI | 
		
	
		
			
				|  |  |  |  |     ZEROONE_API_KEY="" ZEROONE_MODEL_LIST="" \ | 
		
	
		
			
				|  |  |  |  |     # Zhipu | 
		
	
		
			
				|  |  |  |  |     ZHIPU_API_KEY="" ZHIPU_MODEL_LIST="" | 
		
	
		
			
				|  |  |  |  |     ZHIPU_API_KEY="" | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | USER nextjs | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
	
		
			
				
					|  |  |  | @ -205,5 +237,9 @@ CMD \ | 
		
	
		
			
				|  |  |  |  |             "$protocol $host $port" \ | 
		
	
		
			
				|  |  |  |  |         > "/etc/proxychains4.conf"; \ | 
		
	
		
			
				|  |  |  |  |     fi; \ | 
		
	
		
			
				|  |  |  |  |     # Run the server | 
		
	
		
			
				|  |  |  |  |     ${PROXYCHAINS} node "/app/server.js"; | 
		
	
		
			
				|  |  |  |  |     # Run migration | 
		
	
		
			
				|  |  |  |  |     node "/app/docker.cjs"; \ | 
		
	
		
			
				|  |  |  |  |     if [ "$?" -eq "0" ]; then \ | 
		
	
		
			
				|  |  |  |  |       # Run the server | 
		
	
		
			
				|  |  |  |  |       ${PROXYCHAINS} node "/app/server.js"; \ | 
		
	
		
			
				|  |  |  |  |     fi; | 
		
	
	
		
			
				
					|  |  |  | 
 |