Read Node
Repository viewer
Legacy docs parity surface
Back to repository viewer
Repository document
Primary Host Bootstrap
read-node/primary-host-bootstrap.md
Boundary
This route preserves legacy markdown access inside the Next.js surface. The raw repository file remains authoritative.
Open raw filePrimary Host Bootstrap
Purpose
This document reduces the external cutover work to:
- bootstrap an Ubuntu VPS
- place the production
.env - start the primary-host stack
- point DNS to that host
The repo now contains the rest.
Files
- bootstrap-primary-host-ubuntu.sh
- install-primary-host-stack.sh
- verify-remote-primary-host.sh
- docker-compose.yml
- Caddyfile
- .env.example
Ubuntu bootstrap
Run as root or via sudo on the VPS:
curl -fsSL https://raw.githubusercontent.com/X-PACT/PrivateDAO/main/scripts/bootstrap-primary-host-ubuntu.sh -o /tmp/bootstrap-primary-host-ubuntu.sh
sudo TARGET_USER=ubuntu INSTALL_DIR=/opt/privatedao bash /tmp/bootstrap-primary-host-ubuntu.shThis installs:
- Docker Engine
- Docker Compose plugin
- Node.js 20
- Git
Install the stack on the VPS
As the target user:
cd /opt/privatedao
git clone https://github.com/X-PACT/PrivateDAO.git .
git checkout main
cp deploy/primary-host/.env.example deploy/primary-host/.env
nano deploy/primary-host/.env
npm run install:primary-host-stackOr equivalently:
npm run install:primary-host-stackThis runs:
npm ci- source preflight
- primary-host stack bring-up
- local stack verification
Remote verification after DNS
After DNS points to the VPS:
./scripts/verify-remote-primary-host.sh https://privatedao.org
npm run verify:host-topology:strictExpected result:
privatedao.orgno longer reportsServer: GitHub.com/healthzreturnshealthy/api/v1/configreturnsbackend-indexer/api/v1/metricsreturns counters
Remaining external actions
The repo cannot perform these without infrastructure credentials:
- provision the VPS itself
- edit the real production
.env - attach
privatedao.orgDNS to the host - manage registrar or DNS provider records