A simple website for finding repositories across multiple different git hosting providers.
Find a file
2022-07-05 22:39:15 -04:00
forges add sprinternet and autonomic.zone forges 2022-07-05 22:39:15 -04:00
images add README 2022-07-03 14:16:08 -04:00
static more tweaks to styling 2022-07-03 16:34:20 -04:00
templates check for results and explicitly state if there are none 2022-07-03 18:35:29 -04:00
.gitignore add python gitignore 2022-07-03 12:43:38 -04:00
app.py fix namign conflict that was losing some results 2022-07-03 19:15:22 -04:00
constants.py display link to source on site 2022-07-03 16:35:08 -04:00
Dockerfile fix static assets in docker env 2022-07-03 15:10:33 -04:00
forge.py set up async request processing 2022-07-03 18:52:15 -04:00
helpers.py remove unused helper 2022-07-03 19:05:46 -04:00
LICENSE.md add GPL 2022-07-03 14:17:15 -04:00
Pipfile set up async request processing 2022-07-03 18:52:15 -04:00
Pipfile.lock set up async request processing 2022-07-03 18:52:15 -04:00
README.md update README 2022-07-03 21:19:22 -04:00
result.py query API's and parse results 2022-07-03 13:56:51 -04:00

ForgeFind

This is a simple, hacked-together python webapp to serve as a proof-of-concept dempnstration of a search tool similar to https://grep.app that can search multiple different code hosting platforms.

a screenshot of the homepage

a screenshot of the results page

Setup and running

  1. pipenv install
  2. (optional) create a .env file according to the env variables below
  3. FLASK_APP=app pipenv run flask run

Environment variables

GITLAB_TOKEN - a token appropriate for accessing the gitlab.com api.

Hosting

There is a docker container intended for hosting this. to build it run docker build -t forgefind ., to run it interactively, use docker run -it --rm -p 5000:5000 forgefind

You will need to specify your environment variables when running the container either using --env-file=.env or specifying each variable with -e

Forge support:

The homepage of the website will list the currently supported forges as there are a fair number of them now. Forges based on the following software are the easiest to add since handling for their API's is already implemented:

  • Gitea
  • Gogs
  • Gitlab (requires auth tokens when running)
  • Launchpad

Project Limitations/intentions

Currently this project is intended to evaluate the concept of having a multi-forge search type of website and allow people to give it a try.

It mostly relies on anonymously accessing public API's of various hosting providers and is therefore not able to handle the kinds of high-volume use that can result from having more than a few users. Therefore this should be considered to be "for personal use".

This is definitely not an ideal solution and isnt intended to search every public repository that exists. If this is what you need, id recommend supporting the https://forgefed.org project.