1
4
Fork
You've already forked ForgeFind
0
A simple website for finding repositories across multiple different git hosting providers.
Python 79%
HTML 10.9%
CSS 6.9%
Dockerfile 3.2%
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.