FROM caddy:2-alpine

# Copy your static site into Caddy's default web root
COPY . /usr/share/caddy
# CIS: Install dependencies (curl for healthcheck, libcap for permissions)
RUN apk add --no-cache curl libcap \
    && setcap 'cap_net_bind_service=+ep' /usr/bin/caddy \
    && apk del libcap

# CIS: Set working directory
WORKDIR /usr/share/caddy

# CIS: Copy site content with ownership for the non-root user
COPY --chown=caddy:caddy . .

# CIS: Run as non-root user
USER caddy

# CIS: Add healthcheck
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
    CMD curl -f http://localhost:80/ || exit 1

EXPOSE 80
