Giter Site home page Giter Site logo

gitserver's Introduction

gitserver

build standard-readme compliant

A very simple git smart HTTP server.

About

This was created as a learning experience on how to create, and possibly use, a custom git server to upload your code. Also to play with some weird ideas...

Install

We use fastapi to handle all the HTTP interface and uvicorn as the ASGI server.

$ pip install -r requirements.txt

Usage

$ uvicorn app:app
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

Now you have an HTTP git server running on localhost:8000. You can push your code to it simply by adding a remote that points to it:

$ git remote add local http://localhost:8000/reponame
# push to it
$ git push local
# clone from it
$ git clone http://localhost:8000/reponame

Note that the username/password is currently 'admin' for both. This is found in the gitserver/app.py file, and you can edit that file if you'd like to change the username/password.

Note that the directory where the code is saved is created using python's tempfile module. Which means, when the program exists, or reloads, it will be deleted.

Docker

There is also a docker image if you prefer that:

$ docker run --rm -it -p 8000:8000 meyer1994/gitserver

Thanks

This project would not have been possible without the code in the following repositories. They helped me understand a lot about git http backend.

gitserver's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gitserver's Issues

License

Hi @meyer1994, would you mind adding a license to this repository (ie MIT/ISC/Unlicense)? Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.