Git Product home page Git Product logo

node-git-lfs's Introduction

Node Git LFS

Build Status Coverage Status Code Climate

A NodeJS implementation of Git LFS Server.

Installation

npm install node-git-lfs

Features

  • Support Git LFS v1 Batch API
  • Support SSH Authentication
  • Multiple store supported - currently AWS S3 and MongoDB GridFS
  • Multiple authentication method support - currently basic and none
  • Use JWT to secure download, upload and verify endpoints
  • Option to directly upload to and download from AWS S3
  • Use SHA256 checksum when upload directly to AWS S3

Configuration

All configurations can be done via environment variable or configuration file

Environment Variables

  • LFS_BASE_URL - URL of the LFS server - required
  • LFS_PORT - HTTP portal of the LFS server, defaults to 3000 - required
  • LFS_STORE_TYPE - Object store type, can be either s3 (for AWS S3), s3_direct (for direct upload and download from AWS S3) or grid (for MongoDB GridFS), defaults to s3 - required
  • LFS_AUTHENTICATOR_TYPE - Authenticator type, can be basic (for basic username and password), none (for no authentication), defaults to none - required
  • LFS_JWT_ALGORITHM - JWT signature algorithm, defaults to HS256
  • LFS_JWT_SECRET - JWT signature secret - required
  • LFS_JWT_ISSUER - Issuer of the JWT token, defaults to node-git-lfs
  • LFS_JWT_EXPIRES - JWT token expire time, defaults to 30m

If storage type is s3 or s3_direct:

  • AWS_ACCESS_KEY - AWS access key - required
  • AWS_SECRET_KEY - AWS secret key - required
  • LFS_STORE_S3_BUCKET - AWS S3 bucket - required
  • LFS_STORE_S3_ENDPOINT - AWS S3 endpoint, normally this will be set by region
  • LFS_STORE_S3_REGION - AWS S3 region
  • LFS_STORE_S3_STORAGE_CLASS - AWS S3 storage class, can be STANDARD, STANDARD_IA or REDUCED_REDUNDANCY, defaults to STANDARD

If storage type is grid:

  • LFS_STORE_GRID_CONNECTION - MongoDB connection URL - required

If authenticator type is basic:

  • LFS_AUTHENTICATOR_USERNAME - Username - required
  • LFS_AUTHENTICATOR_PASSWORD - Password - required
  • LFS_AUTHENTICATOR_CLIENT_PUBLIC_KEY - Location of the client's public key
SSH Environment Variables
  • LFS_SSH_ENABLED - Enable SSH server, defaults to true
  • LFS_SSH_PORT - SSH server port, defaults to 2222
  • LFS_SSH_IP - SSH server bind IP, defaults to 0.0.0.0
  • LFS_SSH_PUBLIC_KEY - SSH server public key - required if SSH is enabled
  • LFS_SSH_PRIVATE_KEY - SSH server private key - required if SSH is enabled

node-git-lfs's People

Contributors

kzwang avatar

Watchers

Alexandru Vlăduţu avatar James Cloos avatar  avatar

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.