Initial Release
This commit is contained in:
+49
@@ -0,0 +1,49 @@
|
||||
# --- Build ---
|
||||
|
||||
FROM golang:1.25.2-trixie AS build
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
|
||||
# Setup Compiler
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y gcc wget tar
|
||||
RUN rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Setup Tensorflow
|
||||
RUN wget -O tensorflow.tar.gz -q https://storage.googleapis.com/tensorflow/versions/2.18.0/libtensorflow-cpu-linux-x86_64.tar.gz && \
|
||||
tar -C /usr/local -xzf tensorflow.tar.gz && \
|
||||
rm tensorflow.tar.gz
|
||||
|
||||
# Build Application
|
||||
ENV CGO_ENABLED=1 \
|
||||
CGO_CFLAGS="-I/usr/local/include" \
|
||||
CGO_LDFLAGS="-L/usr/local/lib -ltensorflow"
|
||||
|
||||
RUN go build -o stickerboard.elf main.go
|
||||
|
||||
# --- Runtime ---
|
||||
|
||||
FROM debian:trixie-slim AS runtime
|
||||
WORKDIR /app
|
||||
RUN mkdir -p /data
|
||||
|
||||
# Install Dependencies
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y ffmpeg
|
||||
RUN rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Copy Application
|
||||
COPY --from=build /usr/local/lib /usr/local/lib
|
||||
COPY --from=build /app/resources ./resources
|
||||
COPY --from=build /app/stickerboard.elf .
|
||||
|
||||
# Update Environment
|
||||
ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
|
||||
ENV TF_CPP_MIN_LOG_LEVEL=2
|
||||
ENV HTTP_ADDRESS="0.0.0.0:8080"
|
||||
ENV DATA_DIRECTORY=/data
|
||||
|
||||
# Start Application
|
||||
EXPOSE 8080
|
||||
CMD ["./stickerboard.elf"]
|
||||
|
||||
Reference in New Issue
Block a user