forked from platypush/platypush
Fabio Manganiello
197e1e91dd
The testing repo is only required by `py3-marshmallow`, which is not yet included in the community repo, but it can end up breaking some builds because of the incompatibility with the packages in the base repo.
40 lines
1.2 KiB
Docker
40 lines
1.2 KiB
Docker
FROM alpine
|
|
|
|
ARG DOCKER_CTX=1
|
|
ENV DOCKER_CTX=1
|
|
WORKDIR /var/lib/platypush
|
|
|
|
RUN --mount=type=bind,source=.,target=/curdir \
|
|
apk update && \
|
|
# If the current directory is the Platypush repository, then we can copy the existing files \
|
|
if grep -E 'name\s*=\s*"platypush"' /curdir/pyproject.toml >/dev/null 2>&1; \
|
|
then \
|
|
cp -r /curdir /install; \
|
|
# Otherwise, we need to clone the repository \
|
|
else \
|
|
apk add --no-cache git && \
|
|
git clone https://github.com/blacklight/platypush.git /install; \
|
|
fi
|
|
|
|
RUN /install/platypush/install/scripts/alpine/install.sh && \
|
|
cd /install && \
|
|
pip install -U --no-input --no-cache-dir --no-deps --ignore-installed --break-system-packages . croniter marshmallow && \
|
|
rm -rf /install && \
|
|
rm -rf /root/.cache && \
|
|
apk del gcc git && \
|
|
apk cache clean && \
|
|
rm -rf /var/cache/apk/* && \
|
|
rm -rf /tmp/* && \
|
|
find / | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf
|
|
|
|
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
|