verify faces from camera

This commit is contained in:
Kostas Drakontidis
2026-05-29 23:46:15 +03:00
parent 1ac5ddbf33
commit 7e1a7d0eca
5 changed files with 244 additions and 0 deletions
@@ -0,0 +1,55 @@
ARG BUILDPLATFORM=linux/amd64
FROM --platform=$BUILDPLATFORM golang:1.26-bookworm AS builder
# Install dlib deps
RUN dpkg --add-architecture arm64 && \
apt-get update && apt-get install -y \
g++-aarch64-linux-gnu \
libdlib-dev:arm64 \
libjpeg-dev:arm64 \
libblas-dev:arm64 \
libopenblas-dev:arm64 \
libatlas-base-dev:arm64 \
liblapack-dev:arm64 \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Compiler wrapper for arm64
RUN printf '#!/bin/bash\nexec aarch64-linux-gnu-gcc "${@//-march=native/-march=armv8-a}"\n' \
> /usr/local/bin/arm64-gcc && \
printf '#!/bin/bash\nexec aarch64-linux-gnu-g++ "${@//-march=native/-march=armv8-a}"\n' \
> /usr/local/bin/arm64-g++ && \
chmod +x /usr/local/bin/arm64-gcc /usr/local/bin/arm64-g++
# Compiler variables for cross-compile to arm64
ENV CGO_ENABLED=1 \
GOOS=linux \
GOARCH=arm64 \
CC=/usr/local/bin/arm64-gcc \
CXX=/usr/local/bin/arm64-g++ \
PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
COPY go.mod go.sum ./
RUN go mod download
# Pre-compile all CGO deps into cache
RUN go build -v ./... 2>/dev/null || \
go list -m all && \
CGO_ENABLED=1 GOOS=linux GOARCH=arm64 \
go build -gcflags="-trimpath" -v \
$(go list -f '{{if .CgoFiles}}{{.ImportPath}}{{end}}' ./...) 2>/dev/null; exit 0
RUN --mount=type=cache,target=/root/.cache/go-build \
--mount=type=cache,target=/go/pkg \
go mod download
COPY . .
# Build - reuse CGO cache
RUN --mount=type=cache,target=/root/.cache/go-build \
--mount=type=cache,target=/go/pkg \
go build -o cameraSession
FROM scratch AS export
COPY --from=builder /app/cameraSession /cameraSession