# miniSCP site The all-in-one landing page **and** download host for miniSCP. One static page, one flat download folder, served by [Caddy](https://caddyserver.com). No JS, no build step. ## Layout ``` site/ index.html # the landing page (pure static HTML/CSS) Caddyfile # local :80 server config deploy.sh # copy a build's artifacts into the download folder assets/ # images (logo, screenshots) — dropped in as they're ready ``` Deploys to `/srv/miniscp` on the server: ``` /srv/miniscp/ index.html assets/ dl/ # flat folder of all artifacts (the downloads + future updater feed) ``` ## Run it ```bash # from the repo root, on the server sudo mkdir -p /srv/miniscp/dl sudo cp site/index.html /srv/miniscp/ sudo cp -r site/assets /srv/miniscp/ # once assets exist caddy run --config site/Caddyfile --adapter caddyfile # or install as a service: sudo caddy start --config site/Caddyfile ``` Then open `http:///`. ## Publish a build electrobun can't cross-compile, so each OS/arch is built on its own machine. On each build machine, after producing artifacts, drop them into the shared `dl/` folder: ```bash bun scripts/release.ts # or --target win-x64 / linux-x64 site/deploy.sh # -> /srv/miniscp/dl ``` Serving on a different box than you build on? Stage locally, then sync: ```bash MINISCP_DL_DIR=./_dl site/deploy.sh rsync -av ./_dl/ user@host:/srv/miniscp/dl/ ``` That's the whole workflow: **build, drop the artifacts, done.** Installers keep stable names and overwrite in place, so the download links on the page never change. > **Don't delete old `*.patch` files.** They're the incremental-update trail for the > built-in updater — removing them forces older installs to re-download the full app. ## Notes - Downloads live under `/dl/` and are browsable at `http:///dl/`. - The page links to fixed, stable filenames (`macos-arm64-miniSCP.dmg`, `win-x64-miniSCP-Setup.zip`, …) so it stays static and always points at the latest build. Electrobun 2.x names installers without the `stable-` prefix; only the updater feed (`stable---update.json`, `.tar.zst`, `.patch`) keeps it. Installers left over under the old v1 `stable-…` names are stale — delete them. - Builds are currently unsigned — the FAQ on the page covers the macOS `xattr` step and the Windows SmartScreen prompt. - `/dl/` is also the electrobun auto-updater's `release.baseUrl`.