Fix build: externalize elysia packages, use standalone output, fix NODE_ENV

- Add serverExternalPackages for @elysiajs/static and elysia to prevent
  webpack from bundling dynamic imports that cause Html prerender error
- Use output: standalone for proper Docker deployment
- Comment out NODE_ENV=development in .env.example to avoid conflict
  with next build which requires NODE_ENV=production
- Set NODE_ENV=production before build step in Dockerfile
- Update runtime stage to use standalone output structure

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
bipproduction
2026-03-10 11:48:05 +08:00
parent a4db3a149d
commit e8f8b51686
3 changed files with 8 additions and 8 deletions

View File

@@ -33,4 +33,4 @@ SESSION_PASSWORD="your_session_password_min_32_characters_long_secure"
ELEVENLABS_API_KEY=your_elevenlabs_api_key
# Environment (optional, defaults to development)
NODE_ENV=development
# NODE_ENV=development

View File

@@ -27,6 +27,7 @@ RUN cp .env.example .env
RUN bun x prisma generate
# Build the application frontend
ENV NODE_ENV=production
RUN bun run build
# Stage 2: Runtime
@@ -43,17 +44,14 @@ RUN apt-get update && apt-get install -y \
# Set the working directory
WORKDIR /app
# Copy necessary files from build stage
COPY --from=build /app/package.json ./
COPY --from=build /app/tsconfig.json ./
COPY --from=build /app/.next ./.next
# Copy necessary files from build stage (standalone output)
COPY --from=build /app/.next/standalone ./
COPY --from=build /app/.next/static ./.next/static
COPY --from=build /app/public ./public
COPY --from=build /app/src ./src
COPY --from=build /app/node_modules ./node_modules
COPY --from=build /app/prisma ./prisma
# Expose the port
EXPOSE 3000
# Start the application
CMD ["bun", "start"]
CMD ["bun", "server.js"]

View File

@@ -1,6 +1,8 @@
import type { NextConfig } from "next";
const nextConfig: NextConfig = {
output: 'standalone',
serverExternalPackages: ['@elysiajs/static', 'elysia'],
experimental: {},
allowedDevOrigins: [
"http://192.168.1.82:3000", // buat akses dari HP/device lain