A NodeJS implementation of Git LFS Server.
npm install node-git-lfs
AWS S3
and MongoDB GridFS
basic
and none
download
, upload
and verify
endpointsAll configurations can be done via environment variable or configuration file
LFS_BASE_URL
- URL of the LFS server - requiredLFS_PORT
- HTTP portal of the LFS server, defaults to 3000
- requiredLFS_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
- requiredLFS_AUTHENTICATOR_TYPE
- Authenticator type, can be basic
(for basic username and password), none
(for no authentication), defaults to none
- requiredLFS_JWT_ALGORITHM
- JWT signature algorithm, defaults to HS256
LFS_JWT_SECRET
- JWT signature secret - requiredLFS_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 - requiredAWS_SECRET_KEY
- AWS secret key - requiredLFS_STORE_S3_BUCKET
- AWS S3 bucket - requiredLFS_STORE_S3_ENDPOINT
- AWS S3 endpoint, normally this will be set by regionLFS_STORE_S3_REGION
- AWS S3 regionLFS_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 - requiredIf authenticator type is basic
:
LFS_AUTHENTICATOR_USERNAME
- Username - requiredLFS_AUTHENTICATOR_PASSWORD
- Password - requiredLFS_AUTHENTICATOR_CLIENT_PUBLIC_KEY
- Location of the client's public keyLFS_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 enabledLFS_SSH_PRIVATE_KEY
- SSH server private key - required if SSH is enabled