push-main.yml now builds build:www on every push to main and, once the
production environment is approved, copies it to the web host and switches
to it. The host keeps releases side by side and serves a 'current' symlink,
so going live is one rename and rollback is a dispatch with an earlier sha.
.github/deploy/release.sh checks the switch through nginx for the public
name and restores the previous release if the new one is not served.
Ships env-config.js, which index.html loads: on a static host the request
fell through to index.html and the browser ran HTML as a script.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
None of it could run here: the repository has no Pages site, no Pinata or
Crust credentials and no npm token, and docker/build.sh pushed to the
upstream author's Docker Hub account. Remove the release scripts, the IPFS
uploader with @pinata/sdk (axios 0.21) and @crustio/crust-pin, and
public/ipfs, whose pin.json and redirect pointed at another project's IPFS
build from this site.
README: the hosted URL is apps.pezkuwichain.io; drop the IPFS and desktop
chapters and the pull of a Docker image that does not exist. .gitignore
listed '.log' where '*.log' was meant, which let start.log in.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>