Deploying this documentation#

The docs are plain Sphinx + Read-the-Docs theme. They are deployed as a static container: a build stage renders docs/_build/html, a runtime stage serves it with nginx on port 80 — exactly what Coolify expects for a “Dockerfile” service.

Build locally#

uv sync --group dev
uv run sphinx-build -b html docs docs/_build/html
# then: open docs/_build/html/index.html

Or the whole container:

docker build -f docs/Dockerfile -t tidalpy-docs .

Run / Coolify#

docker run --rm -p 8080:80 tidalpy-docs

For Coolify, point a Dockerfile service at this repository with:

  • Dockerfile: docs/Dockerfile

  • Context: repository root

  • Port: 80 (mapped to any host port)

  • Build args (optional): TIDALPY_VERSION — stamped into the page footer; defaults to the version in docs/conf.py.

docs/docker-compose.yml contains a ready-made service definition.

Rebuilding on change#

The Forgejo CI workflow has a docs job that rebuilds the static site on every push; the image you deploy is just the rendered output, so “redeploy” is “pull the new image”.