1
0
Fork 0
megacode/Dockerfile

44 lines
941 B
Docker

FROM python:3.14-slim
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends \
tzdata \
xvfb \
xauth \
ca-certificates \
curl \
firefox-esr \
&& rm -rf /var/lib/apt/lists/*
COPY pyproject.toml uv.lock /app/
RUN pip install --no-cache-dir uv
RUN uv sync --frozen --no-dev
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
COPY src .
# Download uBlock Origin
RUN mkdir -p /data/extensions && \
curl -fsSL -o /data/extensions/ublock_origin.xpi \
"https://github.com/gorhill/uBlock/releases/download/1.62.0/uBlock0_1.62.0.firefox.signed.xpi"
ENV PYTHONUNBUFFERED=1
ENV PORT=80
ENV DATA_DIR=/data
ENV PROXY_URL=""
ENV MAIL_JSON=/data/mail.json
ENV FIREFOX_BINARY=firefox-esr
VOLUME ["/data"]
EXPOSE 80
HEALTHCHECK --start-period=10s --start-interval=2s CMD \
test "$(curl -fsS "http://127.0.0.1:$PORT/health")" = "ok"
STOPSIGNAL SIGINT
CMD ["/entrypoint.sh"]