🎉 live server seems to be working now
This commit is contained in:
63
Dockerfile.cross
Normal file
63
Dockerfile.cross
Normal file
@@ -0,0 +1,63 @@
|
||||
FROM golang:1.24-bookworm
|
||||
|
||||
# Enable ARM multiarch and install cross-compilers + ARM versions of CGo deps
|
||||
RUN dpkg --add-architecture armhf \
|
||||
&& dpkg --add-architecture arm64 \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
crossbuild-essential-armhf \
|
||||
crossbuild-essential-arm64 \
|
||||
pkg-config \
|
||||
libasound2-dev:armhf \
|
||||
libopus-dev:armhf \
|
||||
libopusfile-dev:armhf \
|
||||
libogg-dev:armhf \
|
||||
libasound2-dev:arm64 \
|
||||
libopus-dev:arm64 \
|
||||
libopusfile-dev:arm64 \
|
||||
libogg-dev:arm64 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /src
|
||||
COPY go.mod go.sum ./
|
||||
RUN go mod download
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN mkdir -p /out
|
||||
|
||||
# armhf (RPi 2/3/4 32-bit, RPi Zero 2 W 32-bit)
|
||||
RUN CGO_ENABLED=1 \
|
||||
CC=arm-linux-gnueabihf-gcc \
|
||||
PKG_CONFIG_LIBDIR=/usr/lib/arm-linux-gnueabihf/pkgconfig \
|
||||
GOOS=linux GOARCH=arm GOARM=7 \
|
||||
go build -buildvcs=false -o /out/sendspin-client-armhf ./cmd/client/ \
|
||||
&& CGO_ENABLED=1 \
|
||||
CC=arm-linux-gnueabihf-gcc \
|
||||
PKG_CONFIG_LIBDIR=/usr/lib/arm-linux-gnueabihf/pkgconfig \
|
||||
GOOS=linux GOARCH=arm GOARM=7 \
|
||||
go build -buildvcs=false -o /out/sendspin-server-armhf ./cmd/server/ \
|
||||
&& CGO_ENABLED=1 \
|
||||
CC=arm-linux-gnueabihf-gcc \
|
||||
PKG_CONFIG_LIBDIR=/usr/lib/arm-linux-gnueabihf/pkgconfig \
|
||||
GOOS=linux GOARCH=arm GOARM=7 \
|
||||
go build -buildvcs=false -o /out/sendspin-live-server-armhf ./cmd/live-server/
|
||||
|
||||
# arm64 (RPi 3/4/5 64-bit)
|
||||
RUN CGO_ENABLED=1 \
|
||||
CC=aarch64-linux-gnu-gcc \
|
||||
PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig \
|
||||
GOOS=linux GOARCH=arm64 \
|
||||
go build -buildvcs=false -o /out/sendspin-client-arm64 ./cmd/client/ \
|
||||
&& CGO_ENABLED=1 \
|
||||
CC=aarch64-linux-gnu-gcc \
|
||||
PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig \
|
||||
GOOS=linux GOARCH=arm64 \
|
||||
go build -buildvcs=false -o /out/sendspin-server-arm64 ./cmd/server/ \
|
||||
&& CGO_ENABLED=1 \
|
||||
CC=aarch64-linux-gnu-gcc \
|
||||
PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig \
|
||||
GOOS=linux GOARCH=arm64 \
|
||||
go build -buildvcs=false -o /out/sendspin-live-server-arm64 ./cmd/live-server/
|
||||
|
||||
CMD ["sh", "-c", "cp /out/* /binaries/"]
|
||||
Reference in New Issue
Block a user