1
0

Initial Release

This commit is contained in:
2026-05-24 19:58:20 -07:00
commit d7b7e01e92
28 changed files with 4273 additions and 0 deletions
+49
View File
@@ -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"]