diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..483d659 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +# Stage 1: Build the Hugo site +FROM hugomods/hugo:exts-0.145.0 AS builder + +WORKDIR /src +COPY . /src + +RUN npm install --prefix /src + +# Fetch modules (if using Hugo modules) and build the site +RUN hugo mod get -u && hugo --minify + +# Stage 2: Serve with Nginx +FROM nginx:alpine + +# Copy the built site from the builder stage +COPY --from=builder /src/public /usr/share/nginx/html + +# Expose port 80 +EXPOSE 80 + +# Default Nginx command is fine, no need to override \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..87e5ffd --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +version: '3.8' +services: + web: + build: + context: . + dockerfile: Dockerfile + image: my-hugo-app:production + ports: + - "80:80" + restart: unless-stopped + environment: + - NGINX_PORT=80 + volumes: + - ./public:/usr/share/nginx/html:ro # Optional, for debugging \ No newline at end of file