Update docker file to install craftbeerpi

Also install cbpi-ui from avollkopf repository.
This commit is contained in:
Philipp Grathwohl 2021-11-27 15:21:05 +01:00
parent db39d82432
commit 16e32f57d8

View file

@ -1,14 +1,43 @@
FROM python:3.5.6-stretch
FROM alpine:latest as download
RUN apk --no-cache add curl && mkdir /downloads
# Download installation files
RUN curl https://github.com/avollkopf/craftbeerpi4-ui/archive/main.zip -L -o ./downloads/cbpi-ui.zip
WORKDIR /usr/src/app
FROM python:3.7-slim
COPY dist/cbpi-0.0.1.tar.gz ./
RUN pip install cbpi-0.0.1.tar.gz --no-cache-dir
# Install dependencies
RUN apt-get update \
&& apt-get upgrade -y
RUN apt-get install --no-install-recommends -y \
libatlas-base-dev \
libffi-dev \
python3-pip \
&& rm -rf /var/lib/apt/lists/*
COPY . .
RUN python -m pip install --upgrade pip setuptools wheel
EXPOSE 8080
WORKDIR /cbpi
# Create non-root user working directory
RUN groupadd -g 1000 -r craftbeerpi \
&& useradd -u 1000 -r -s /bin/false -g craftbeerpi craftbeerpi \
&& chown craftbeerpi:craftbeerpi /cbpi
CMD [ "cbpi" ]
# Install craftbeerpi from source
COPY . /cbpi-src
RUN pip3 install --no-cache-dir /cbpi-src
# Install craftbeerpi-ui
COPY --from=download /downloads /downloads
RUN pip3 install --no-cache-dir /downloads/cbpi-ui.zip
# Clean up installation files
RUN rm -rf /downloads /cbpi-src
USER craftbeerpi
RUN cbpi setup
EXPOSE 8000
# Start cbpi
CMD ["cbpi", "start"]