56 lines
2.4 KiB
Docker
56 lines
2.4 KiB
Docker
# syntax=docker/dockerfile:1.7
|
|
FROM golang:1.27.1-bookworm@sha256:69a7b9788769bec032d238959b61854e9ae87f57be9029ec04e9885fabf99195 AS stelloauth-builder
|
|
|
|
ARG TARGETARCH
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends ca-certificates git patch \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
WORKDIR /src
|
|
RUN git clone --filter=blob:none https://github.com/tamcore/stelloauth.git . \
|
|
&& git checkout --detach 367d4f8c02a3b072c59142c49dffc129edc8548b \
|
|
&& test "$(git rev-parse HEAD)" = "367d4f8c02a3b072c59142c49dffc129edc8548b"
|
|
COPY patches/stelloauth-security.patch /tmp/stelloauth-security.patch
|
|
RUN git apply --check /tmp/stelloauth-security.patch \
|
|
&& git apply /tmp/stelloauth-security.patch \
|
|
&& go test ./... \
|
|
&& CGO_ENABLED=0 GOOS=linux GOARCH="$TARGETARCH" go build -trimpath -ldflags="-s -w" -o /out/stelloauth ./cmd/stelloauth
|
|
|
|
FROM cloakhq/cloakbrowser:0.5.10@sha256:2ed5b2d047cbdde22cde7ef1a796526c716aadaa5bccbe1db5ade49282b64a76
|
|
|
|
ARG BUILD_ARCH
|
|
ARG BUILD_DATE
|
|
ARG BUILD_DESCRIPTION="Local OAuth worker for Stellantis Vehicles using CloakBrowser"
|
|
ARG BUILD_NAME="Stelloauth"
|
|
ARG BUILD_REF
|
|
ARG BUILD_REPOSITORY="https://git.radixadm.dk/dennis/homeassistant-stelloauth-addon"
|
|
ARG BUILD_VERSION="0.1.0"
|
|
LABEL io.hass.name="$BUILD_NAME" \
|
|
io.hass.description="$BUILD_DESCRIPTION" \
|
|
io.hass.arch="$BUILD_ARCH" \
|
|
io.hass.type="addon" \
|
|
io.hass.version="$BUILD_VERSION" \
|
|
org.opencontainers.image.created="$BUILD_DATE" \
|
|
org.opencontainers.image.revision="$BUILD_REF" \
|
|
org.opencontainers.image.source="$BUILD_REPOSITORY" \
|
|
org.opencontainers.image.version="$BUILD_VERSION"
|
|
|
|
USER root
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends patch \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
COPY patches/cloakserve-loopback.patch /tmp/cloakserve-loopback.patch
|
|
RUN patch --dry-run -p2 -d /usr/local/bin < /tmp/cloakserve-loopback.patch \
|
|
&& patch -p2 -d /usr/local/bin < /tmp/cloakserve-loopback.patch \
|
|
&& rm /tmp/cloakserve-loopback.patch \
|
|
&& apt-get purge -y --auto-remove patch \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
COPY --from=stelloauth-builder /out/stelloauth /usr/local/bin/stelloauth
|
|
COPY rootfs/ /
|
|
RUN chmod 0755 /usr/local/bin/stelloauth /usr/local/bin/addon-supervisor /usr/local/bin/cloakserve \
|
|
&& mkdir -p /data /tmp/cloakserve \
|
|
&& chmod 0700 /tmp/cloakserve
|
|
|
|
EXPOSE 8080
|
|
ENTRYPOINT []
|
|
CMD ["/usr/local/bin/addon-supervisor"]
|