Skip to content

Deploy these docs

Pinchana/pinchana-docs is a static Astro Starlight site. It has no runtime dependency on Pinchana API or Pinchana Web.

Terminal window
git clone https://github.com/Pinchana/pinchana-docs.git
cd pinchana-docs
bun install --frozen-lockfile
bun run check
bun run build

The static output is written to dist/.

The repository includes a two-service Compose setup:

  • docs-build uses oven/bun:1.3.14-debian, installs the frozen lockfile, and runs the Astro build into a named docs-dist volume.
  • docs uses nginx:1.29-alpine and serves that read-only build output.

Start it with:

Terminal window
docker compose up --detach
docker compose ps

By default Nginx binds to:

127.0.0.1:4321

Override with DOCS_BIND_ADDRESS and DOCS_HOST_PORT if needed.

For the canonical deployment:

https://docs.pinchana.cc -> http://127.0.0.1:4321

Terminate TLS at the host reverse proxy. The docs service itself contains no application secrets and should not need access to the API/Web private environments.

After pulling documentation changes, recreate the Compose project so the one-shot builder produces a new docs-dist volume content before Nginx serves it:

Terminal window
git pull --ff-only
docker compose up --detach --force-recreate docs-build docs

If dependency files changed, the named docs-node-modules volume can retain old installation state. The build still runs bun install --frozen-lockfile; if diagnosing dependency corruption, remove only the docs-specific dependency/cache volumes and rebuild, not unrelated Pinchana application volumes.

These docs intentionally cover public Pinchana API and Pinchana Web behavior. Before publishing a change, verify commands/defaults against their current repositories and run both bun run check and bun run build here.