Files

2.0 KiB

Connecting Codemagic to our self-hosted Gitea (SSH)

We build the iOS app on Codemagic's macOS cloud (no Mac needed). Codemagic must clone the repo from code.bizgaze.com, but that Gitea only exposes HTTPS (443) — its SSH port is not reachable from the internet, so Codemagic can't connect yet. This is a one-time infra + Codemagic setup.

Part 1 — IT: expose Gitea's SSH port (git host 118.95.33.93)

  1. Find Gitea's SSH port. In app.ini[server]SSH_PORT / SSH_LISTEN_PORT. Or open a repo in the Gitea web UI → clone dropdown → SSH and read the port in the URL, e.g. ssh://git@code.bizgaze.com:2222/Sravan/BizGaze_Remote.git.
  2. Port-forward a public TCP port → that Gitea SSH port. Suggested public port: 2222.
    • ⚠️ Nginx Proxy Manager proxies HTTP/HTTPS only. SSH needs a raw TCP forward at the firewall/router (or an NPM Stream rule) — not an HTTP proxy host.
  3. Confirm reachable, then send the DevOps/AI the SSH clone URL (with port) to verify.

Security: Gitea SSH is key-only (no password auth), same model as GitHub's public port 22. Access is further limited to a read-only deploy key (below), so a leaked key could only read this one repo.

Part 2 — Codemagic: connect the repo (once the port is open)

  1. Codemagic → Add application → "Other" (self-hosted / SSH) → paste the SSH clone URL.
  2. Copy the SSH public key Codemagic shows.
  3. Gitea → this repo → Settings → Deploy Keys → Add Deploy Key → paste it, Enable write access = OFF.
  4. Codemagic Test connection → it clones and reads codemagic.yaml.

Then follow IOS_SETUP.md for the App Store Connect key + first build.

Auto-build on push (optional, later)

Manual Start build works immediately. Automatic builds on push work natively only for GitHub/GitLab/Bitbucket; for Gitea we'd add a webhook Codemagic can accept — a later nicety, not required.