1
0
mirror of https://github.com/hrfee/jfa-go.git synced 2024-06-02 07:37:48 +02:00
jfa-go/Dockerfile
Harvey Tindall afd52d1d37
Use go cross-compilation in docker build
significantly faster builds now. Every pre-compilation step (typescript,
css, etc.) happens natively, then GOARCH=xxx make compile is also run
natively for each architecture. The output it then copied into each
container.
2021-02-16 16:08:53 +00:00

30 lines
877 B
Docker

FROM --platform=$BUILDPLATFORM golang:latest AS support
COPY . /opt/build
RUN apt update -y \
&& apt install build-essential python3-pip curl software-properties-common sed -y \
&& (curl -sL https://deb.nodesource.com/setup_14.x | bash -) \
&& apt install nodejs \
&& (cd /opt/build; make configuration npm email version typescript bundle-css swagger copy GOESBUILD=on) \
&& sed -i 's#id="password_resets-watch_directory" placeholder="/config/jellyfin"#id="password_resets-watch_directory" value="/jf" disabled#g' /opt/build/build/data/html/setup.html
FROM --platform=$BUILDPLATFORM golang:latest AS build
ARG TARGETARCH
ENV GOARCH=$TARGETARCH
COPY --from=support /opt/build /opt/build
RUN (cd /opt/build; make compile)
FROM golang:latest
COPY --from=build /opt/build/build /opt/jfa-go
EXPOSE 8056
CMD [ "/opt/jfa-go/jfa-go", "-data", "/data" ]