Lightweight and easily self-hostable Git forge. git.poy.ooo
git-forge selfhosting homebrew
Go 73%
HTML 18%
CSS 9%

README.md

Farga #

Farga is a lightweight and easily self-hostable Git forge built with Go. It's meant for personal use.

Farga is a work in progress.

Features #

  • Easily self-hostable. Uses Sqlite and stores all repos on-disk.
  • All features work without Javascript. It ships very little JS to the frontend.
  • It's small and cool. (Your computer won't overheat because of it)
  • A useful web view that allows you to browse different branches.
    • tree, blob and raw modes let you view directories, files and raw files.
  • It has a Hackatime integration. Show how much time you've spent coding, on the repo page itself!

Running Farga #

Prerequisites #

  • Go 1.26 or higher.
  • Git knowledge.

Setup #

  1. Copy example.env and rename it to .env.
  2. Modify any ENV vars you need. It is MANDATORY to set CSRF_KEY to a random string at least 32 characters in length.
  3. (Optional) Setup Hackatime OAuth: If you want to enable the hackatime integration, go to Hackatime's OAuth2 Applications page, create a new application, and put the resulting App ID and Secret to the the .env.
  4. go run .

TODO: #

As mentioned before, Farga is a work-in-progress. Here's a list of what's implemented and what's not.

Items with a ? prefix are "possible future features".

Contributing #

Contributions are welcome and greatly appreciated. Read DEVELOPMENT.md for reference.

Don't hesitate to contact me if you have any questions or want to talk about the project itself.

License #

Farga is free open source software. This project is licensed under the GNU AGPLv3 license. See the LICENSE file for details.