Dockerfile

# Build Stage
FROM golang:1.26.1-trixie AS build

# Install build dependencies
RUN apt-get update && apt-get install -y \
    git \
    libpcap-dev \
    make \
    build-essential \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY go.mod go.sum ./
RUN go mod download && go mod verify

COPY . .

RUN CGO_ENABLED=1 go build -o honeypot .

# Run Stage
FROM debian:trixie-slim

# Install runtime dependencies
RUN apt-get update && apt-get install -y \
    libpcap-dev \
    ca-certificates \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY --from=build /app/honeypot ./honeypot

# Config and Data Volumes
VOLUME /opt/data

ENV CONFIG_FILE=/opt/data/config.json

CMD ["sh", "-c", "./honeypot -config \"$CONFIG_FILE\""]