# 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

```bash
# 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.yaml`
  on push to `landing/**`. CI builds/pushes the image, scps `deploy/*` to the
  server, then `docker compose pull && up -d`.
- **DMG** → built on macOS, uploaded by hand: `make deploy-dmg`
  (sets the stable `download/spacesh.dmg`). Tauri can't build a macOS bundle in CI.

## Gitea secrets required

`SSH_HOST`, `SSH_USER`, `SSH_REMOTE_DIR`, `SSH_KEY` (private key, key-based auth).
