Dev container

A Docker image with all the build-time dependencies needed to develop Fathom without installing them on your host. This is a build and test environment, not a runtime — Electron’s UI can’t render in a headless Docker container. The final .dmg still has to be produced on macOS (for iconutil and native signing).

What you can do inside the container

What you can’t do inside the container


Dockerfile

See ../Dockerfile at the repo root.

Build the image

docker build -t fathom-dev .

Use the container as a dev shell

docker run --rm -it \
  -v "$PWD":/workspace \
  -w /workspace \
  fathom-dev bash

Inside the container:

npm install
npm run typecheck
npm run build

Why not run Electron in Docker?

Technically you can run Electron headless under Xvfb, but:

Keep the container for CI-style checks and deterministic builds of the JS side. Do actual app runs on your Mac.