rsdeps

Cargo.lock visualizer (mirror)
Log | Files | Refs | README | LICENSE

commit 7a6c7c0397c6ea6ffa5ef8f2aa3d7194b93999ab
parent cde23044b6b4455ecb237e2cda2d49f95d999c99
Author: Andy Khramtsov <>
Date:   Thu, 28 May 2026 04:59:55 +0300

build: add containerfile

Diffstat:
A.containerignore | 36++++++++++++++++++++++++++++++++++++
AContainerfile | 29+++++++++++++++++++++++++++++
2 files changed, 65 insertions(+), 0 deletions(-)

diff --git a/.containerignore b/.containerignore @@ -0,0 +1,36 @@ +# Git +.git +.gitignore + +# Python virtual environments & packages +.venv +venv +ENV +env +*.egg-info +.eggs + +# Python caches +__pycache__/ +*.pyc +*.pyo +*.pyd +.pytest_cache/ +.ruff_cache/ +.mypy_cache/ + +# Local configuration & environment secrets +.env +*.env +.secrets +.idea/ +.vscode/ + +# Build and CI artifacts +build/ +dist/ +.github/ +.gitlab-ci.yml + +# UV specific local cache (if any exists outside container mount) +.uv diff --git a/Containerfile b/Containerfile @@ -0,0 +1,29 @@ +FROM ghcr.io/astral-sh/uv:python3.14-alpine AS builder +ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy +WORKDIR /app +RUN --mount=type=cache,target=/root/.cache/uv \ + --mount=type=bind,source=uv.lock,target=uv.lock \ + --mount=type=bind,source=pyproject.toml,target=pyproject.toml \ + uv sync --frozen --no-install-project --no-dev + +COPY . /app + +RUN --mount=type=cache,target=/root/.cache/uv \ + uv sync --frozen --no-dev + +FROM python:3.14-alpine + +RUN apk add --no-cache graphviz + +WORKDIR /app + +COPY --from=builder /app/.venv /app/.venv +COPY . /app + +ENV PYTHONUNBUFFERED=1 \ + PATH="/app/.venv/bin:$PATH" + +EXPOSE 8000 + +CMD ["python", "src/deps/dash_app.py"] +