Every branch,
live, on your NAS.

Want to share a website with your colleagues? A project wiki, a demo, a paper page? Push a branch, and it's online for your group: hosted on your own Synology, behind its login.

Push a branch, it goes live on your NAS, open and share it, find and remove it

01What for

Sharing a small website inside a group is oddly hard. A public host means the whole internet sees your draft. A laptop server dies when the lid closes. Asking IT takes weeks.

Most labs and small teams already have a Synology NAS and accounts on it. This turns it into a private host for every website you keep in git:

  • Project wiki
  • Live demo
  • Paper companion
  • Thesis figures
  • Onboarding guide

02How it works

  1. Push a branch

    Any repo with a Dockerfile whose server listens on port 3000.

    $ git push origin my-idea
  2. About two minutes later, it's live

    The hub hears about the push, builds the branch on the NAS, and it appears in the hub's list, grouped by project. Every push updates it.

  3. Open it and share the link

    Each site lives at /your-repo/my-idea/, so any page of it has a link to send around, and several sites work side by side in tabs. A small "← All sites" badge leads back to the list.

  4. Remove it when you're done

    Delete the branch, or press Remove. The button only shows for people who can push to that branch. The branch itself is never touched.

03What you get

Your NAS accountsSign in through DSM's SSO Server, or a shared password.
Fuzzy searchType "rv2" to find reviewer-2 among dozens of branches.
Isolated sitesNo host mounts, no capabilities, 1 GB of RAM each.
GitLab decidesRemove asks GitLab who can push, and GitLab records who did.
Secrets stay out of gitSITE_ENV_* CI variables reach the site as environment variables.
One small serverAbout 450 lines of TypeScript on Bun, with tests.

04What you need

A Synology NAS with DSM 7.2+ and Container Manager, SSH access with sudo, and GitLab: self-hosted, or gitlab.com. Setup is one Docker Compose file and about 10 minutes: the README walks through it.

Limits worth knowing: no WebSockets through the hub, and anything a site writes to disk is gone on its next deploy.