aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorᴜɴᴋɴᴡᴏɴ <u@gogs.io>2020-05-10 20:37:22 +0800
committerGitHub <noreply@github.com>2020-05-10 20:37:22 +0800
commit1125bb5848006d1269355475553426340af62254 (patch)
treeceec3840c8d523c6c6a28ab45360770d7b8e6326 /docs
parent44ea9604ed7440c2cf1105d965c2429ee225e8f6 (diff)
lfs: add user and admin docs (#6158)
Diffstat (limited to 'docs')
-rw-r--r--docs/admin/lfs.md21
-rw-r--r--docs/user/lfs.md28
2 files changed, 49 insertions, 0 deletions
diff --git a/docs/admin/lfs.md b/docs/admin/lfs.md
new file mode 100644
index 00000000..143552ec
--- /dev/null
+++ b/docs/admin/lfs.md
@@ -0,0 +1,21 @@
+# Configuring Git Large File Storage (LFS)
+
+> NOTE: Git LFS is supported in Gogs starting with version 0.12.
+
+Git LFS works out of box with default configuration for any supported versions.
+
+## Known limitations
+
+- Only local storage is supported (i.e. all LFS objects are stored on the same server where Gogs runs), support of Object Storage Service like Amazon S3 is being tracked in [#6065](https://github.com/gogs/gogs/issues/6065).
+
+## Configuration
+
+All configuration options for Git LFS are located in [`[lfs]` section](https://github.com/gogs/gogs/blob/44ea9604ed7440c2cf1105d965c2429ee225e8f6/conf/app.ini#L266-L270):
+
+```ini
+[lfs]
+; The storage backend for uploading new objects.
+STORAGE = local
+; The root path to store LFS objects on local file system.
+OBJECTS_PATH = data/lfs-objects
+```
diff --git a/docs/user/lfs.md b/docs/user/lfs.md
new file mode 100644
index 00000000..f89730b6
--- /dev/null
+++ b/docs/user/lfs.md
@@ -0,0 +1,28 @@
+# Git Large File Storage (LFS)
+
+> This document is driven from https://docs.gitlab.com/ee/topics/git/lfs/.
+
+Managing large binaries in Git repositories is challenging, that is why Git LFS was developed for, to manage large files.
+
+## How it works
+
+Git LFS client talks with the Gogs server over HTTP/HTTPS. It uses HTTP Basic Authentication to authorize client requests. Once the request is authorized, Git LFS client receives instructions from where to fetch or where to push the large file.
+
+## Server configuration
+
+Please refer to [Configuring Git Large File Storage (LFS)](../admin/lfs.md).
+
+## Requirements
+
+- Git LFS is supported in Gogs starting with version 0.12.
+- [Git LFS client](https://git-lfs.github.com/) version 1.0.1 and up.
+
+## Known limitations
+
+- When SSH is set as a remote, Git LFS objects still go through HTTP/HTTPS.
+- Any Git LFS request will ask for HTTP/HTTPS credentials to be provided so a good Git credentials store is recommended.
+- File locking is not supported, and is being tracked in [#6064](https://github.com/gogs/gogs/issues/6064).
+
+## Using Git LFS
+
+Git LFS endpoints in a Gogs server can be automatically discovered by the Git LFS client, therefore you do not need to configure anything upfront for using it. Please walk through official [Git LFS Tutorial](https://github.com/git-lfs/git-lfs/wiki/Tutorial) to get started.