Skip to content
infra Update of ”Home”
Login

Update of ”Home”

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)