← ClaudeAtlas

forgejo-deploymentlisted

This skill should be used when installing or debugging a self-hosted Forgejo (Gitea fork) git server as a native binary + systemd service — not Docker. Covers the three required secrets (SECRET_KEY/INTERNAL_TOKEN/JWT_SECRET) and the permission-denied crash-loop from a locked-down config file, unattended install without exposing the web setup wizard, why Forgejo's built-in git-SSH server needs firewall-level scoping instead of an app-level bind address, a non-obvious API scope requirement for repo deletion, and Vultr Block Storage's region-locking. Trigger phrases include "forgejo install", "forgejo systemd", "forgejo app.ini", "JWT_SECRET failed loading", "save oauth2.JWT_SECRET failed", "forgejo not supposed to be run as root", "forgejo admin user create", "forgejo random-password", "forgejo generate secret", "forgejo INSTALL_LOCK", "forgejo git-ssh port", "forgejo delete repo API 403", "write:user scope forgejo", "vultr block storage wrong region", "no active instances available in this region", "vultr NVMe
jackson2w/claude-code-skills · ★ 1 · DevOps & Infrastructure · score 64
Install: claude install-skill jackson2w/claude-code-skills
**Status note (2026-08-24): the `dfw` instance this skill documents was decommissioned** — it was live 2026-08-16 through 2026-08-24 but had zero repos, pushes, clones, or logins in its entire log history (every real repo went to GitHub instead). Torn down: service, binary, `git` user, Tailscale Serve mapping, `ufw` rules, and the dedicated Vultr Block Storage volume all removed. See `project_dfw_vultr_buildout` memory for the full decommission record. This skill's technical content below is kept as-is for any future redeploy — nothing here needs correcting, it just isn't live right now. ## Version — verify, don't assume Check `forgejo.org/releases` (or `code.forgejo.org/forgejo/forgejo/releases`) for the current stable tag before installing — don't reuse a version number from a prior session/training data. Download the binary **and its `.sha256` file**, verify before installing: ```bash VERSION="16.0.2" # confirm current at forgejo.org/releases wget -q "https://code.forgejo.org/forgejo/forgejo/releases/download/v${VERSION}/forgejo-${VERSION}-linux-amd64" wget -q "https://code.forgejo.org/forgejo/forgejo/releases/download/v${VERSION}/forgejo-${VERSION}-linux-amd64.sha256" sha256sum -c "forgejo-${VERSION}-linux-amd64.sha256" sudo install -m 755 "forgejo-${VERSION}-linux-amd64" /usr/local/bin/forgejo ``` ## Three secrets are required, not two `app.ini`'s `[security]` section needs `SECRET_KEY` and `INTERNAL_TOKEN` — but oauth2 also needs its own `[oauth2]` `JWT_SECRET`, e