Deploy — spaceshell.ru
Front nginx (proxy) → landing container, plus /download/spacesh.dmg.
Layout on the server ($SSH_REMOTE_DIR, e.g. /opt/spacesh)
docker-compose.yaml # synced by CI
proxy.conf # synced by CI
download/spacesh.dmg # uploaded locally via `make deploy-dmg`
One-time server setup
# The landing image lives in a private registry — log the server in once:
docker login git.realmanual.ru
mkdir -p $SSH_REMOTE_DIR/download
What runs where
-
Landing image + compose deploy → automatic in
.gitea/workflows/build.yamlon push tolanding/**. CI builds/pushes the image, scpsdeploy/*to the server, thendocker compose pull && up -d. -
DMG → built on macOS, uploaded by hand:
make deploy-dmg(sets the stabledownload/spacesh.dmg). Tauri can't build a macOS bundle in CI. The same command also publishes a versioned copy to the Gitea package registry (Packagestab) whenGITEA_TOKENis set:GITEA_TOKEN=<token-with-package:write> make deploy-dmg # server + Gitea Packages make publish-dmg GITEA_TOKEN=<token> # build + Gitea Packages onlyPublished at
{GITEA_URL}/api/packages/{GITEA_OWNER}/generic/spacesh/<version>/spacesh-<version>.dmg(overrideGITEA_URL/GITEA_OWNER/GITEA_PKGif needed). Version comes fromtauri.conf.json, bumped on everymake dmg. WithoutGITEA_TOKENthe publish step is skipped (server copy still happens).
Gitea secrets required
SSH_HOST, SSH_USER, SSH_REMOTE_DIR, SSH_KEY (private key, key-based auth).