forked from platypush/platypush
If the Platypush setup.py is found in the current directory, then use that directory as the base for the new image. Otherwise, clone the repo on the fly and build the image from there.
40 lines
1.1 KiB
Docker
40 lines
1.1 KiB
Docker
FROM ubuntu
|
|
|
|
WORKDIR /var/lib/platypush
|
|
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
ARG DOCKER_CTX=1
|
|
ENV DOCKER_CTX=1
|
|
|
|
RUN --mount=type=bind,source=.,target=/curdir \
|
|
apt update && \
|
|
# If the current directory is the Platypush repository, then we can copy the existing files \
|
|
if grep 'name="platypush"' /curdir/setup.py >/dev/null 2>&1; \
|
|
then \
|
|
cp -r /curdir /install; \
|
|
# Otherwise, we need to clone the repository \
|
|
else \
|
|
apt install -y git && \
|
|
git clone https://github.com/blacklight/platypush.git /install; \
|
|
fi
|
|
|
|
RUN /install/platypush/install/scripts/debian/install.sh && \
|
|
cd /install && \
|
|
pip install -U --no-input --no-cache-dir . --break-system-packages && \
|
|
rm -rf /install && \
|
|
apt autoclean -y && \
|
|
apt autoremove -y && \
|
|
apt clean
|
|
|
|
EXPOSE 8008
|
|
|
|
VOLUME /etc/platypush
|
|
VOLUME /var/lib/platypush
|
|
VOLUME /var/cache/platypush
|
|
|
|
CMD platypush \
|
|
--start-redis \
|
|
--config /etc/platypush/config.yaml \
|
|
--workdir /var/lib/platypush \
|
|
--cachedir /var/cache/platypush
|