bamos / girl

Check your GitHub READMEs for broken links.
http://bamos.github.io/girl
MIT License
70 stars 17 forks source link

GitHub README Link Checker

Build Status

girl is a Github Readme Link Checker served over HTTP with Scala and Spray. A public version is hosted at http://bamos.github.io/girl.

Whitelist

To prevent misuse, girl restricts usage to GitHub users with over 50 followers or users and organizations on the whitelist. Please add your accounts and submit a pull request to gain access. Thanks!

Building

Before running locally, set your GitHub API token in the environment variable GITHUB_TOKEN, or modify the GitHub API connection in Girl.scala to another option from kohsuke.github.GitHub. Also in Girl.scala, if desired, set the minimum number of required followers to zero: val reqFollowers = 0.

girl is built with sbt. Executing sbt run from the girl directory will download the dependencies, compile the source code, and start an HTTP server on 0.0.0.0:8585. Main.scala configures the interface and port.

sbt-revolver is helpful for development. Start an sbt shell and execute ~re-start, which re-compiles and restarts the server upon source code changes.

Deployment with Docker

Girl can be deployed as a container with Docker. After replacing the string <token> in the Dockerfile with your GitHub API token, the following command will build and start the girl as an HTTP server on port 8585 of the container.

docker build -t girl .

Running as a System Service

girl.service is an example systemd service that calls start-service.sh to automatically start girl with the system.

Modify the paths to this repo on your system in both of the scripts and copy girl.service to /etc/systemd/system/girl.service. A symlink will not work, see this bug report for more details.

Basic controls are:

sudo systemctl start girl
sudo systemctl stop girl
sudo systemctl restart girl

And run on startup with:

sudo systemctl enable girl

Licensing

All portions are MIT-licensed.