27 lines
616 B
Docker
27 lines
616 B
Docker
FROM alpine:3.24.1 AS base
|
|
|
|
RUN apk add --no-cache socat netcat-openbsd su-exec \
|
|
&& rm -rf /var/cache/apk/* /tmp/*
|
|
|
|
COPY entrypoint.sh VERSION /
|
|
RUN mkdir -p /socket \
|
|
&& chmod +x /entrypoint.sh
|
|
|
|
FROM base AS test
|
|
|
|
RUN apk add --no-cache bats bash procps
|
|
|
|
WORKDIR /app
|
|
COPY entrypoint.sh VERSION /app/
|
|
COPY tests/ /app/tests/
|
|
|
|
FROM base AS lint
|
|
|
|
RUN apk add --no-cache shellcheck
|
|
RUN shellcheck --severity=error -s sh /entrypoint.sh
|
|
|
|
# Kept as the last stage so `docker build .` (no --target) still produces
|
|
# the lean prod image, not the `test`/`lint` stages above.
|
|
FROM base
|
|
ENTRYPOINT ["/entrypoint.sh"]
|