| 1 |
1 |
|
# Deploying the developer edition on Earth |
| 2 |
2 |
|
|
| 3 |
|
- |
Companion to `spec.md` §17.5. Status: planned, nothing installed yet (2026-09-27). |
|
3 |
+ |
Companion to `spec.md` §17.5. Status: **installed and running** since 2026-09-27 as the systemd service `oxygenhub` under the `oxygenhub` system user, data in `/home/oxygenhub/data`, HTTP on 7300 and HTTPS on 7343 with a self-signed certificate. `oxygen`, `oxygen-vscode` and `oxygenhub` are hosted under `andymccall/` and each checkout has an `earth` remote. |
| 4 |
4 |
|
|
| 5 |
5 |
|
## The host |
| 6 |
6 |
|
|
|
|
… |
17 unchanged lines |
| 24 |
24 |
|
5. **Service**: `/etc/systemd/system/oxygenhub.service` running `oxygenhub serve --data /home/oxygenhub/data` as `oxygenhub`, `Restart=on-failure`, `ProtectSystem=strict`, `ReadWritePaths=/home/oxygenhub/data`, `NoNewPrivileges=yes`; `sudo systemctl enable --now oxygenhub`. |
| 25 |
25 |
|
6. **TLS**: the developer edition generates a self-signed certificate at `init`. Download the CA from `https://earth.andymccall.xyz:7343/trust/ca.pem` and point clients at it with `oxy config remote.<name>.ca <file>` or `OXY_CA`. |
| 26 |
26 |
|
7. **First repositories**: on the development machine, `oxy remote add earth https://earth.andymccall.xyz:7343/andymccall/oxygen` in each of `oxygen`, `oxygen-vscode`, `oxygenhub`, then `oxy push earth`. |
| 27 |
|
- |
8. **Updates**: rsync, build, `sudo install`, `sudo systemctl restart oxygenhub`. A `make deploy` target in the hub wraps steps 2, 3 and 8. |
|
27 |
+ |
8. **Updates**: rsync, build, `sudo install`, `sudo systemctl restart oxygenhub`. `make deploy` in the hub wraps steps 2, 3 and 8. |
|
28 |
+ |
|
|
29 |
+ |
## Where things are on Earth |
|
30 |
+ |
|
|
31 |
+ |
| | | |
|
32 |
+ |
|---|---| |
|
33 |
+ |
| Binaries | `/usr/local/bin/oxygenhub`, `/usr/local/bin/oxy` | |
|
34 |
+ |
| Sources | `/home/claude/src/oxygen`, `/home/claude/src/oxygenhub` (rsync targets; the hub itself is the canonical remote) | |
|
35 |
+ |
| Data | `/home/oxygenhub/data` (`hub.toml`, `hub.db`, `keys/`, `repos/andymccall/*`) | |
|
36 |
+ |
| Push token | `/home/oxygenhub/push-token` (also in `hub.toml`); each local checkout has it as `remote.earth.token` | |
|
37 |
+ |
| Certificate | `/home/oxygenhub/data/keys/tls.crt`, served at `/.well-known/oxyhub-ca.pem`; local copy `~/.config/oxy/earth-ca.pem` set as `remote.earth.ca` | |
|
38 |
+ |
| Service | `sudo systemctl status oxygenhub`, `sudo journalctl -u oxygenhub` | |