Getting started
Three steps: run vdoc, publish a version, open it.
Run it
- uv
- pip
- Docker
Runs vdoc straight from PyPI, installing nothing permanently.
uvx vdoc run
Installs vdoc into the active environment, then starts it.
pip install vdoc && vdoc run
Mounts a directory for the uploads, so they outlive the container.
docker run -p 8080:8080 -v ./vdoc-docs:/srv/vdoc/docs/ voraus.jfrog.io/docker/vdoc:0.27.0
It answers on localhost:8080 — an empty landing page, and the API credentials still on their defaults, which it says in the log. Changing them is the first thing Configuration covers.
Publish a version
Take any directory with an index.html in it, zip it up and post it:
cd path/to/built/docs
zip -r ../docs.zip .
curl --user admin:admin \
--form "file=@../docs.zip;type=application/zip" \
http://localhost:8080/api/projects/example/versions/1.0.0
The archive is unpacked as version 1.0.0 of a project called example.
Publishing documentation has the rules an upload has to satisfy and how to wire
this into a pipeline.
Open it
http://localhost:8080/example/1.0.0/— the version you just publishedhttp://localhost:8080/example/latest/— whichever version is newest
Upload a 1.1.0 next and the version picker in the header has two entries, with latest following
the newer one.
Then what
An instance that serves more than one project usually wants a name, a logo and some grouping. That is all configuration: Configuration for vdoc's own settings, Plugins for how it presents itself.