Docker-Swarm-Loadbalancer/mitm-proxy/Dockerfile
Matthew Baggett 6db6395f66
Trunk linter ()
* linting is fun

* mis-detection of missing healthcheck staements.

* typo

* disable tagging vanity tags on non-main branch

* Unbugger node build?

* Add gitleaks detector, remove an expired secret.

* More linting-derived cleanup

* Fiddle with trivy

* Fiddle with trivy

* add a readme

* Fix build bug with php flavours

* Marshall should build other flavours of ubuntu.

* Fiddle with act cache location.

* Add concurrency checks

* Composer version gubbins for 7.0/7.1

* ubuntu is just a label, and injected over the top of.

* Composer version gubbins for 7.0/7.1

* Run when workflow is altered too please.

* Hopefully fix composer stage.

* setup tooling meta-tooling.

* Add trunk

* Disable mirror mode, its being problematic, and increase retries to 5.

* Revisit how ghcr login works.

* Add trunk checks.

* All hail the linter

* Heavilly revise workflow

* Fettling

* Fettling

* Fettling

* Fettling

* Fettling

* Cleanup

* Cleanup

* Fettling.. Why does mitm build but not redis?

* Fettling.. Why does mitm build but not redis?

* Debuggin

* Fettling.

* Fix build?

* Permissions are a pain

* Switch around some should_push logic because envs aren't available that early.

* Permissionssssss

* Trivy, bane of my life

* Fix merge?

* Fix labels

* Help node along, among other things

* Redis 6.1 & 7.1 aren't a thing any more.

* Ffff USER nonsense

* latest-openssl doesn't exist.

* fixup mysqlproxy.

* Fix labels

* uurrgh

* uurrgh

* Didn't need to add the mitmproxy user, it exists

* Missing ghcr login

* Missing backtick

* Fix build?

* Add validate build step to bouncer.

* Fix bouncer build

* Disable laravel build

* Missing env

* Fix swarm mon build

* Scout just doesn't seem to work.
2024-02-07 16:21:14 +01:00

43 lines
1.5 KiB
Docker

FROM mitmproxy:version
ARG BUILD_DATE
ARG GIT_SHA
ARG MITM_VERSION
LABEL maintainer="Matthew Baggett <matthew@baggett.me>" \
org.opencontainers.image.source="https://github.com/benzine-framework/docker/mitm-proxy" \
org.opencontainers.image.title="mitm-proxy with healthcheck" \
org.opencontainers.image.created="${BUILD_DATE}" \
org.opencontainers.image.version="${MITM_VERSION}" \
org.opencontainers.image.revision="${GIT_SHA}" \
org.opencontainers.image.vendor="Benzine" \
org.opencontainers.image.authors="Matthew Baggett <matthew@baggett.me>"
# Install curl
# hadolint ignore=DL3018,DL4006
RUN os=$(grep "^ID=" < /etc/os-release | cut -f2 -d'=') && \
echo "OS: $os" && \
if [ "$os" = "debian" ] || [ "$os" = "ubuntu" ]; then \
apt-get update -yqq && \
apt-get install -yqq --no-install-recommends \
curl \
bash \
&& \
apt-get clean && \
apt-get autoclean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/lib/dpkg/status.old /var/cache/debconf/templates.dat /var/log/dpkg.log /var/log/lastlog /var/log/apt/*.log; \
elif [ "$os" = "alpine" ]; then \
apk add \
--update \
--no-cache \
curl \
bash \
; \
else \
echo "Unknown OS: $os"; \
exit 1; \
fi
USER mitmproxy
# Add healthcheck
HEALTHCHECK --interval=30s --timeout=3s \
CMD curl -I -x http://localhost:8080 -k https://www.google.com || exit 1