Overview
| Artifact ID: | b4556452228fbac8b81163f131dfaf2c52dc6641c3d10e6f9ce5c46e1c7a20e5 |
|---|---|
| Page Name: | Home |
| Date: | 2026-03-15 20:21:57 |
| Original User: | dmestas |
| Mimetype: | text/x-markdown |
| Next | 4b56535044165eaf78dbc2a402aae50408aeae598ce791fe5abd009f3dc39018 |
Content
infra
Infrastructure-as-code for vps-nbg1 (Hetzner, Ubuntu 24.04 LTS, arm64).
This repo contains install scripts, config templates, and documentation for all services running on the VPS. Each service is self-contained under its own directory with idempotent install scripts.
Services
/* 2 */
/* 3 */ # VPS box
/* 4 */ box wid 6.5 ht 5.2 rad 8px at (3.25, 2.0) "vps-nbg1 (91.99.202.69, arm64)" big bold fill lightyellow
/* 5 */
/* 6 */ # Internet / Cloudflare band
/* 7 */ box wid 6.5 ht 0.6 rad 4px at (3.25, 5.0) "Cloudflare" fill lightcyan bold
^^^^
ERROR: syntax error
| Service | Directory | Endpoint |
|---|---|---|
| NATS Server | nats/ |
tls://sync.craftdesign.group:4222 |
| Fossil SCM | (managed separately) | https://fossil.craftdesign.group/ |
| Coolify | (managed separately) | http://localhost:8000 |
NATS Documentation
Repository Layout
nats/
install.sh Phase 1 — binary, user, dirs, TLS cert, systemd unit
bootstrap-creds.sh Phase 2 — nsc operator/accounts/users, .creds files
start.sh Phase 3 — render config, start service, copy JWTs
provision-streams.sh Phase 4 — create JetStream streams
nats-server.conf.template Config template (envsubst vars: OPERATOR_JWT, SYS_ACCOUNT_KEY)
nats.service Systemd unit
Dockerfile Future: containerised deployment
creds/ *.creds files (fossil-ignored, not committed)
docs/
superpowers/
specs/ Design documents
plans/ Implementation plans
Quickstart — Re-installing NATS
cd ~/Projects/infra
export NATS_VERSION=2.10.22
sudo --preserve-env=NATS_VERSION bash nats/install.sh # Phase 1 (root)
bash nats/bootstrap-creds.sh # Phase 2 (dmestas)
sudo bash nats/start.sh # Phase 3 (root)
bash nats/provision-streams.sh # Phase 4 (dmestas)