# http/ — Ops Toolkit (public static host)

This tree is **not** site application code. It is an ops toolbox published at
`https://www.mgrsc.top/http/*` for download and `curl` install flows.

The site root `Caddyfile` configures **this repository’s** web site. Caddy
install helpers live under `linux/caddy/`.

## How to pick a tool

| Goal | Path | Entry |
| --- | --- | --- |
| Install Caddy (binary or Docker) | `linux/caddy/` | `install_caddy.sh` only |
| Debian/Ubuntu new host shell + CLI | `linux/bootstrap/debian/` | `00_` then `01_`; optional `10_`–`12_` |
| Docker Compose multi-project manager | `linux/docker/cpman/` | `cpman.sh` |
| Backup Docker named volumes (cold) | `linux/backup/docker-volumes/` | `docker_volume_cold_restic.sh` |
| Backup host paths with restic | `linux/backup/paths/` | `restic_backup.sh` |
| MySQL / Postgres / SQLite hot backup | `linux/backup/databases/` | per-DB script |
| Add swap | `linux/system/swap/` | `add_swap.sh` |
| Sync system time (NTP) | `linux/system/time/` | `sync_system_time.sh` |
| k3s / kubectl shell aliases | `linux/k3s/` | `setup.sh` |
| Simple multi-thread file server | `linux/network/file-server/` | `file_server.py` |
| NTP latency probe | `linux/network/ntp-probe/` | `ntp_test.py` |
| TCP ping helper | `linux/network/tcpping/` | `tcpping` |
| Editor / prompt / application config | `linux/config/`, `windows/config/` | copy only |
| Public WinRAR configuration | `windows/config/winrar/` | `rarreg.key` |
| Package download notes | `linux/notes/` | markdown only |

Backup selection details: [linux/backup/README.md](linux/backup/README.md).

## Package layout

Each **tool package** follows:

```
<package>/
├── README.md              # purpose, when to use, single entry
├── <entry>.sh|.py         # only file users run
├── lib/                   # optional; sourced libraries (do not run)
├── templates/             # optional; copied to target host by installer
├── examples/              # optional samples
└── config.example.env     # optional; copy to runtime name on the host
```

Rules:

1. Run only the entry named in the package README.
2. Do not run `lib/*` as an installer.
3. Runtime credentials stay on the host (copy from `*.example.env`). Publicly redistributable license and configuration files belong in their scenario package.
4. Language (shell/Python) is an implementation detail; paths are by **scenario**.

## What does not belong here

- Site apps (`files_md/`, `tools/`, `book/`)
- Runtime passwords, tokens, private keys, or filled environment files
- The production site `Caddyfile` at the repository root
