Skip to content

Repository files navigation

node-git-server

🎡 A configurable git server written in Node.js

there be 🐲 here! The API's and functionality are still be cemented, anything before a 1.0.0 release will be subject to change.

Npm VersionBuild StatusCoverage StatusDependency StatusdevDependency Statusnpmnpm

Install

npm install node-git-server

Usage

constpath=require('path');constServer=require('node-git-server');constrepos=newServer(path.resolve(__dirname,'tmp'),{autoCreate: true,authenticate: (type,repo,user,next)=>{if(type=='push'){user((username,password)=>{console.log(username,password);next();});}else{next();}}});constport=process.env.PORT||7005;repos.on('push',(push)=>{console.log(`push ${push.repo}/${push.commit} (${push.branch})`);push.accept();});repos.on('fetch',(fetch)=>{console.log(`fetch ${fetch.commit}`);fetch.accept();});repos.listen(port,()=>{console.log(`node-git-server running at http://localhost:${port}`)});

then start up the node-git-server server...

$ node example/index.js

meanwhile...

$ git push http://localhost:7005/beep master
Counting objects: 356, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (133/133), done.
Writing objects: 100% (356/356), 46.20 KiB, done.
Total 356 (delta 210), reused 355 (delta 210)
To http://localhost:7005/beep
* [new branch] master -> master

Example

Running the following command will start up a simple http server:

node example/index.js

If you want to try using https run the following

node example/index.js --https

When running https with self-signed certs there are two ways to override the git-clients behavior using git config http.sslVerify false or git config --global http.sslCAInfo /path/to/cert.pem

For more information please visit the docs

Philosophy

This library is aimed to have a zero dependency footprint. If you are reading this and you see dependencies, help to remove them 🐒.

Thanks

This is a hard fork from pushover.

About

🎡 A configurable git server written in Node.js

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages