From 2db210ac33d680b0a7cd66f67f5b879e46101893 Mon Sep 17 00:00:00 2001 From: Rutger Broekhoff Date: Fri, 20 Feb 2026 18:47:36 +0100 Subject: Update README --- README.md | 43 ++++++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index d699d2b..e701d62 100644 --- a/README.md +++ b/README.md @@ -3,31 +3,31 @@ Gitolfs3: a very simple Git LFS server [![License: MIT](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://opensource.org/licenses/MIT) -Gitolfs3 has a singular purpose: provide me with a personal Git LFS server that -I can run on my VPS, that stores objects in S3. It seems to be doing an okay -job at it so far. +Gitolfs3 is my personal Git LFS server that runs on my VPS. It uses a +S3-compatible service as backing storage. It seems to be working fine up until +now, but doesn't get too much use (so the primary reason for breakage is me +being too lazy to refresh credentials). -The name 'Gitolfs3' started as some kind of concoction of Gitolite, LFS and S3. -These days, this project has nothing to do with Gitolite because I don't use +The name 'Gitolfs3' started as a portmanteau of Gitolite, LFS and S3. These +days, this project has nothing to do with Gitolite, because I don't use Gitolite anymore. (It was too extensive for my use case, and I prefer to keep the complexity of my system down as much as possible.) Currently, it has the following features: - Storage with S3-compatible services (at the moment of writing, I am using - Scaleway Object Storage for this purpose). -- Git LFS Batch API support. Only the basic transfer adapter is supported. Only - SHA256 Object IDs (OIDs) are supported. + Scaleway Object Storage). +- Git LFS Batch API support. Only the basic transfer adapter with + SHA256 Object IDs (OIDs) is supported. - `git-lfs-authenticate` is provided for authentication over SSH. File transfer over SSH using `git-lfs-transfer` is not supported. - A Git shell is provided so that I can stay sane. (I don't recall 100%, but I believe this was nice when wanting to push to some ssh://git@asdf/blabla.git repo without having to type `/srv/git` before the repo name. And I don't want to have to use something like Gitolite.) -- Gitolfs3 does not require any kind of persistent nor temporary storage for - token storage. Instead, user authentication/authorization between - `git-lfs-authenticate` and the Gitolfs3 server is done using HMAC(-SHA256) - MACs. +- No requirement for any kind of persistent or temporary storage for tokens. + Instead, user authentication/authorization between `git-lfs-authenticate` and + the Gitolfs3 server is done using HMAC(-SHA256) MACs. - Limiting unauthenticated public downloads on a per-hour basis. Storage is required for this. (This feature is implemented pretty badly.) - Public/private repos based on the `git-daemon-export-ok` file in the bare @@ -41,19 +41,16 @@ Currently, it has the following features: - Authenticated users can download and upload for all repositories, regardless of how they access the service. -This program, as it is, solely serves my needs. Although I may occasionally add -some features or perform some cleanups (especially the server still requires -some), I have no interest in making this program work for people with different -use cases than me. In case you want to use this software, feel free to, but -expect that you will basically have to 'make it your own'. If you have a -burning question or find a security vulnerability, feel free to email me. I'm -sure you'll manage to find my email address somewhere. +This program, as it is, works well enough for me. Although I may occasionally +add some features or perform some cleanups, I don't really have the time to +make this program work for different use cases than mine. Do feel free to email +me if you have any questions. Nice-to-have features that I may implement at some point, when I feel a need to: -- No namespacing on S3. (This would mean that having the same big file in two - repositories would mean it is only stored on S3 once.) -- Any kind of file deletion/garbage collection. If you ever have the need, you - need to do this manually right now. +- No namespacing on S3. (So the same big file in two repositories would only be + stored on S3 once.) +- Any kind of file deletion/garbage collection. You need to do this manually + right now. - Resuming downloads. -- cgit v1.2.3