FROM oven/bun:1 as build # Set working directory WORKDIR /app # Copy the viewer directory with all its contents COPY viewer/ . # Install dependencies RUN bun install --frozen-lockfile # Build the application with more verbose output RUN bun run build || (echo "Build failed. Check the error messages above." && exit 1) # Production stage FROM nginx:alpine # Copy built assets from build stage COPY --from=build /app/dist /usr/share/nginx/html # Configure nginx to use port 7860 and support SPA routing RUN echo 'server { \ listen 7860; \ root /usr/share/nginx/html; \ index index.html; \ location / { \ try_files $uri $uri/ /index.html; \ } \ }' > /etc/nginx/conf.d/default.conf # Expose port EXPOSE 7860 # Start nginx CMD ["nginx", "-g", "daemon off;"]