Skip to content
infra Changes To Home
Login

Changes To Home

Changes to "Home" between 2026-03-15 20:42:11 and 2026-10-14 00:30:41

1
2
3
4
5
6
7
8
9
10
11
12
13
14

15
16
17
18
19



20
21

22
23
24
25
26
27
28
29

30
31
32

33
34
35
36
37
38

39
40
41
42
43


44
45

46
47

48
49

50
51
52
53
54
55
56
1
2
3
4
5
6
7
8
9
10
11
12
13

14
15
16
17


18
19
20
21

22
23
24
25
26
27
28
29

30

31

32
33
34
35
36
37

38

39
40


41
42
43

44
45

46
47

48
49
50
51
52
53
54
55













-
+



-
-
+
+
+

-
+







-
+
-

-
+





-
+
-


-
-
+
+

-
+

-
+

-
+







# 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

``` pikchr
    # Top band: Internet / Cloudflare
    # Top band: Cloudflare in front of everything
    right
    CF: box "Cloudflare" color white fill 0x2a4a6b width 5.8 height 0.45 rad 4px

    # VPS outline
    VPS: box width 5.8 height 3.8 rad 8px at CF.s + (0, -2.35) fill 0xfafaf0
    # VPS outline, drawn for the dark skin
    VPS: box width 5.8 height 2.6 rad 8px at CF.s + (0, -1.3) fill 0x272a30 color 0x6b7079
    text "vps-nbg1" small color 0xb3b8c0 at VPS.se + (-0.6, 0.18)

    # Fossil stack (left third)
    # Fossil stack (left)
    down
    CFD: box "cloudflared" color white fill 0x5b4a8a width 1.4 height 0.4 rad 4px \
         at VPS.nw + (0.9, -0.5)
    arrow from CFD.s down 0.15 color 0x888888
    CDY: box "Caddy :8090" color white fill 0x5b4a8a width 1.4 height 0.4 rad 4px
    arrow from CDY.s down 0.15 color 0x888888
    FSL: box "Fossil :8081" color white fill 0x3a6b3a width 1.4 height 0.4 rad 4px
    text "edgesync" small at FSL.s + (0, -0.18)
    text "fossil.craftdesign.group" small color 0xb3b8c0 at FSL.s + (0, -0.2)
    text "go-libfossil, infra" small at FSL.s + (0, -0.35)

    # NATS stack (right third)
    # NATS stack (right)
    NT: box "nats-server :4222" color white fill 0x2a4a8a width 1.7 height 0.4 rad 4px \
        at VPS.ne + (-1.0, -0.5)
    arrow from NT.s down 0.15 color 0x888888
    JS: box "JetStream" color white fill 0x2a4a8a width 1.7 height 0.4 rad 4px
    arrow from JS.s down 0.15 color 0x888888
    ES: box "EDGESYNC" fill 0xddeeff width 1.5 height 0.35 rad 4px at JS.s + (0, -0.38)
    box "edgesync" color white fill 0x31353d width 1.7 height 0.4 rad 4px
    box "GO_LIBFOSSIL" fill 0xddeeff width 1.5 height 0.35 rad 4px at ES.s + (0, -0.45)

    # Coolify (centre)
    box "Coolify :8000" fill 0xfff0cc width 1.4 height 0.4 rad 4px at VPS.n + (0, -0.7)
    box "excalidraw" fill 0xfff0cc width 1.4 height 0.4 rad 4px at VPS.n + (0, -1.25)
    box "Coolify :8000" color white fill 0x7a5a1a width 1.4 height 0.4 rad 4px at VPS.n + (0, -0.7)
    box "excalidraw" color white fill 0x7a5a1a width 1.4 height 0.4 rad 4px at VPS.n + (0, -1.25)

    # Arrows from Cloudflare down
    # Edges from Cloudflare
    arrow from CF.s + (-1.9, 0) down 0.1 color white thick
    text "fossil." small at CF.s + (-1.9, -0.2)
    text "fossil." small color 0xb3b8c0 at CF.s + (-1.9, -0.2)
    arrow from CF.s + (1.9, 0) down 0.1 color white thick
    text "sync. :4222" small at CF.s + (1.9, -0.2)
    text "sync. :4222" small color 0xb3b8c0 at CF.s + (1.9, -0.2)
```

| 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` |
︙