From 4133a62faf1222725b676309d0a4da03dfd88ae3 Mon Sep 17 00:00:00 2001 From: krisf Date: Sat, 1 Aug 2026 11:48:55 -0400 Subject: [PATCH] Add Dockerfile for single-container deployment --- Dockerfile | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a3f18c5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +# ===== Imgur Clone - Single Container Deployment ===== +FROM node:20-alpine + +WORKDIR /app + +# Copy package files first for better layer caching +COPY package*.json ./ +RUN npm ci --omit=dev + +# Copy application code +COPY server.js ./ +COPY seed/ ./seed/ +COPY public/ ./public/ + +# Create uploads directory +RUN mkdir -p /app/public/uploads + +# Expose port +EXPOSE 3000 + +# Health check +HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ + CMD wget --no-verbose --tries=1 --spider http://localhost:3000/api/health || exit 1 + +# Start the application +CMD ["npm", "start"]