mirror of
https://github.com/BeamMP/BeamMP-Website.git
synced 2026-05-18 23:50:17 +00:00
Use nginx:stable, add nginx config, non-root
Switch the runtime stage to nginx:stable (replacing alpine), remove the default static assets, and copy the built app into /usr/share/nginx/html. Add a custom nginx main config (nginx.main.conf → /etc/nginx/nginx.conf) and keep the default site config. Run the container as the non-root nginx user and expose port 80. These changes ensure the image serves the intended build, uses a stable nginx variant, and improves container security.
This commit is contained in:
+9
-2
@@ -9,14 +9,21 @@ ENV NODE_ENV=production
|
||||
RUN npm run build
|
||||
|
||||
# Step 2: Serve stage
|
||||
FROM nginx:alpine
|
||||
FROM nginx:stable
|
||||
|
||||
# Remove default nginx static assets
|
||||
RUN rm -rf /usr/share/nginx/html/*
|
||||
|
||||
# Copy built files from the previous stage
|
||||
COPY --from=build /app/dist /usr/share/nginx/html
|
||||
|
||||
# Add a custom Nginx configuration
|
||||
# Copy secure nginx configs
|
||||
COPY nginx.main.conf /etc/nginx/nginx.conf
|
||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
# Use non-root user for security
|
||||
USER nginx
|
||||
|
||||
# Expose port 80
|
||||
EXPOSE 80
|
||||
|
||||
|
||||
Reference in New Issue
Block a user