-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathDockerfile
46 lines (38 loc) · 1.09 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Ignore hadolint findings about version pinning
# hadolint global ignore=DL3007,DL3008,DL3013
FROM ghcr.io/tronbyt/pixlet:latest AS pixlet
# build runtime image
FROM debian:trixie-slim AS runtime
# 8000 for main app
EXPOSE 8000
ENV PYTHONUNBUFFERED=1
ENV PIXLET_PATH=/pixlet/pixlet
ENV LIBPIXLET_PATH=/usr/lib/libpixlet.so
WORKDIR /app
# copy pixlet binary and python dependencies
COPY --from=pixlet /bin/pixlet /pixlet/pixlet
COPY --from=pixlet --chmod=755 /lib/libpixlet.so /usr/lib/libpixlet.so
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ca-certificates \
esptool \
git \
gunicorn \
libsharpyuv0 \
libwebp7 \
libwebpdemux2 \
libwebpmux3 \
python3 \
python3-dotenv \
python3-flask \
python3-flask-babel \
python3-psutil \
python3-requests \
python3-yaml \
tzdata \
tzdata-legacy && \
rm -rf /var/lib/apt/lists/*
COPY . /app
RUN pybabel compile -d tronbyt_server/translations
# start the app
CMD ["./run"]