platypush/platypush/install/docker/ubuntu.Dockerfile
Fabio Manganiello 8e05a7f4c9
Make Dockerfiles work both within and outside a Platypush source dir.
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.
2024-05-25 00:42:30 +02:00

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