Deploy these docs
The docs are hosted with the repository’s docker-compose.yml. No custom Pinchana image is built or published: an official Bun service performs the static Astro build, then an official Nginx service serves the resulting named volume. Search is generated by Starlight/Pagefind and runs entirely from those static assets.
git clone https://github.com/Pinchana/pinchana-docs.gitcd pinchana-docsdocker compose up -ddocker compose psdocker compose logs docs-builddocs-build uses oven/bun:1.3.14-debian, mounts only the required source/configuration paths read-only into a writable /app, installs the frozen lockfile, and runs bun run build once. The docs service waits for a successful build and serves the shared docs-dist volume through nginx:1.29-alpine.
Host settings
Section titled “Host settings”- Compose service:
docs - Loopback target:
127.0.0.1:4321 - Optional overrides:
DOCS_BIND_ADDRESSandDOCS_HOST_PORT - Canonical site:
https://docs.pinchana.cc - Required runtime variables: none
- Required API/Web connectivity at runtime: none
Configure docs.pinchana.cc DNS and proxy HTTPS to the loopback target. Keep Nginx private behind the reverse proxy. The generated directory routes work with Nginx’s standard index-file handling.
Update or roll back
Section titled “Update or roll back”Re-run the one-shot builder after pulling a revision; Nginx sees the updated named volume immediately:
git pull --ff-onlydocker compose run --rm docs-builddocker compose up -d docsRoll back by checking out the previous revision and running the builder again. The dependency, Astro cache, and output volumes are disposable; remove and recreate them when troubleshooting a stale or corrupt build.
Release check
Section titled “Release check”After deployment, verify the splash page, all five sidebar groups, the final Deployment group, search results from each section, canonical tags, code-copy controls, edit links, last-updated data, mobile navigation, keyboard focus, wide tables, container health, and a direct deep-link refresh. The built output must not contain private keys, real API/Turnstile/VPN/Spotify credentials, cookies, or instance envelopes.