Add Forgejo self-hosted git service to linux-server - #15
Conversation
LAN/Tailscale-only git hosting via Docker. Configured for single-user SSH access on port 2222, SQLite backend, and configurable data path for external drive support. Includes Homepage widget, post-install checklist, and Obsidian vault migration steps with GitHub push mirror for validation before cutting over. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a healthcheck to the compose file, a comment directing to pin the image tag to a specific release, and a backup reference table covering repos, SQLite DB, app.ini, and SSH host keys. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Thanks for the thorough review. Addressing each point: Already handled in the original PR:
Added in a follow-up commit:
The one point I intentionally left as documentation-only rather than code: image pinning. Hardcoding a specific version here would go stale. The comment + releases link is the right tradeoff for a config repo. |
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
3300, git-over-SSH on port2222, SQLite backendFORGEJO_DATA_PATHin.envfor easy migration to an external drivegiteatype) in a new "Dev" sectionDetails
New files:
linux-server/forgejo/docker-compose.ymllinux-server/forgejo/.env.exampleUpdated files:
linux-server/README.md— Forgejo added as service Add Forgejo self-hosted git service to linux-server #15linux-server/homepage/config/services.yaml— Dev section with Forgejo cardlinux-server/homepage/.env.example—HOMEPAGE_VAR_FORGEJO_DOMAINandHOMEPAGE_VAR_FORGEJO_TOKENlinux-server/post-install.md— first-login checklist, SSH clone instructions, and Obsidian vault migration flowMigration flow (Obsidian vault)
+ → New Migration → GitHubin Forgejo to import historygit remote set-url origin ssh://git@<tailscale-hostname>:2222/<user>/<repo>.gitTest plan
cp .env.example .env, setFORGEJO_DOMAIN, rundocker compose up -dhttp://<server-ip>:3300, complete setup wizard, create admin account🤖 Generated with Claude Code