| # debian.sh --arch 'amd64' out/ 'bookworm' '@1779062400' |
| ENV PYTHONUNBUFFERED=1 PYTHONDONTWRITEBYTECODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_NO_CACHE_DIR=1 HOME=/tmp CALIBRE_CONFIG_DIRECTORY=/tmp/calibre_config CALIBRE_TEMP_DIR=/tmp CALIBRE_CACHE_DIRECTORY=/tmp/calibre_cache |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends calibre python3 python3-pip python3-venv wget && rm -rf /var/lib/apt/lists/* && python3 -m venv /opt/venv # buildkit |
| ENV PATH=/opt/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| WORKDIR /srv/calibre |
| COPY pyproject.toml ./ # buildkit |
| RUN /bin/sh -c pip install --upgrade pip && pip install "fastapi>=0.115,<1.0" "uvicorn[standard]>=0.30,<1.0" "pydantic>=2.7,<3.0" "pydantic-settings>=2.4,<3.0" "structlog>=24.1,<26.0" "python-multipart>=0.0.9" # buildkit |
| COPY app ./app # buildkit |
| COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh # buildkit |
| RUN /bin/sh -c chmod +x /usr/local/bin/docker-entrypoint.sh # buildkit |
| RUN /bin/sh -c ebook-meta --version # buildkit |
| EXPOSE [5000/tcp] |
| HEALTHCHECK &{["CMD-SHELL" "wget -q -O- http://localhost:5000/health | grep -q '\"status\":\"ok\"' || exit 1"] "30s" "5s" "15s" "0s" '\x03'} |
| ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] |