Christian Schindler chrishdx
  • Joined on 2024-02-09

pcb-fab-controller (2cda34e145f13825f089d1789807ac8ecd637802)

Published 2026-09-13 15:06:37 +00:00 by chrishdx

Installation

docker pull git.csnetworkx.dev/chrishdx/pcb-fab-controller:2cda34e145f13825f089d1789807ac8ecd637802
sha256:df2075b67f35acac40ef5eb3d8e1e9419767aa679ffdef1f07e0e3d1de3e63c5

Images

Digest OS / Arch Size
e471d8e954 linux/amd64 136 MiB

Image Layers ( linux/amd64)

# debian.sh --arch 'amd64' out/ 'bookworm' '@1787529600'
ENV DEBIAN_FRONTEND=noninteractive PYTHONUNBUFFERED=1 PYTHONDONTWRITEBYTECODE=1 PCB_FAB_DATA=/data PCB_FAB_CONTROLLER=simulator
RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ca-certificates libboost-program-options1.74.0 libcairo2 libgeos-c1v5 libgeos3.11.1 libgtk2.0-0 libgtkmm-2.4-1v5 libgtkmm-3.0-1v5 librsvg2-2 python3 python3-pip tini && rm -rf /var/lib/apt/lists/* && groupadd --gid 10001 pcbfab && useradd --uid 10001 --gid 10001 --home-dir /app --no-create-home --shell /usr/sbin/nologin pcbfab && install -d -o 10001 -g 10001 -m 0750 /app /data && install -d -o 10001 -g 10001 -m 0750 /run/pcb-fab # buildkit
COPY /usr/local/lib/ /usr/local/lib/ # buildkit
COPY /usr/local/bin/pcb2gcode /usr/local/bin/pcb2gcode # buildkit
COPY requirements.lock /tmp/requirements.lock # buildkit
RUN /bin/sh -c ldconfig && pcb2gcode --version && python3 -m pip install --no-cache-dir --break-system-packages --require-hashes -r /tmp/requirements.lock && rm -f /tmp/requirements.lock # buildkit
COPY --chown=10001:10001 pcb_fab /app/pcb_fab # buildkit
COPY --chown=10001:10001 static /app/static # buildkit
WORKDIR /app
USER 10001:10001
VOLUME [/data]
HEALTHCHECK &{["CMD" "python3" "-c" "import socket; s=socket.socket(socket.AF_UNIX); s.settimeout(3); s.connect('/run/pcb-fab/pcb-fab.sock'); s.sendall(b'GET /healthz HTTP/1.1\\r\\nHost: localhost\\r\\nConnection: close\\r\\n\\r\\n'); status=s.recv(128).split(b'\\r\\n', 1)[0]; s.close(); raise SystemExit(0 if b' 200 ' in status else 1)"] "20s" "4s" "20s" "0s" '\x03'}
ENTRYPOINT ["/usr/bin/tini" "--"]
CMD ["python3" "-m" "pcb_fab.serve"]