# Dockerfile - Multi-stage build for Hugo blog with Caddy FROM caddy:2.8-alpine # Metadata LABEL org.opencontainers.image.source="https://gitlab.com/gregbair/blog" LABEL org.opencontainers.image.description="Greg Bair's Hugo Blog" LABEL org.opencontainers.image.licenses="MIT" # Copy built Hugo site from CI build step COPY public/ /srv # Copy Caddyfile configuration COPY Caddyfile /etc/caddy/Caddyfile # Expose port 8080 (Caddy default) EXPOSE 8080 # Caddy will run automatically via base image entrypoint # No CMD needed - base image handles it # Health check to ensure Caddy is serving content HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:8080/ || exit 1