gogs / gogs

Gogs is a painless self-hosted Git service
https://gogs.io
MIT License
45.06k stars 4.86k forks source link

Ability to store gogs assets remote File system #4362

Open abhilash07 opened 7 years ago

abhilash07 commented 7 years ago

Hi everyone, it would be great if gogs extend the remote file system feature to store gogs assets (repositories, attachments, avatar & sessions). I mean remote storage is on s3, openstack swift, ceph storage and cloud foundry blob storage etc. Thanks

Regards

Abhilash S

jhasse commented 7 years ago

Wouldn't this work with GVfs / FUSE? Or do you also want to serve them from there?

abhilash07 commented 7 years ago

I didn't test, if you know please let us know how set up remote fs to store gogits assets?

unknwon commented 7 years ago

What is the use case of this feature?

abhilash07 commented 7 years ago

Good question, when we go for production such as cloud foundry computing so data size will be high? users want to store their data securily and safely. So that's the reason we are requesting to add feature to store in remote blob store(i.e., s3, azure or cloud foundry blobstore)

Fastidious commented 7 years ago

@abhilash07 but git isn't centralised. Anything online is already in one, and possibly, many computers. I really do not see the point. You can use FUSE to mount AWS S3 buckets on Linux, if that is what you are after, then configure gogs to save the repositories on it.

unknwon commented 7 years ago

Good question, when we go for production such as cloud foundry computing so data size will be high? users want to store their data securily and safely. So that's the reason we are requesting to add feature to store in remote blob store(i.e., s3, azure or cloud foundry blobstore)

The real huge thing is the repository, and Gogs currently couldn't help on that. Even if you store other things on so-called "cloud", you disk usage won't reduce much.

lavvy commented 7 years ago

@Fastidious how do you use an s3 mounted filesystem to store gogs volume? We have tried it but didn't work. Now we are using jgit to persist our repos to s3. @unknown you can as well give gogs an s3 backend with jgit, this could be quite easy to integrate to gogs. Please check this simple example http://www.fancybeans.com/blog/2012/08/24/how-to-use-s3-as-a-private-git-repository/

unknwon commented 7 years ago

Now we are using jgit to persist our repos to s3. @unknown you can as well give gogs an s3 backend with jgit, this could be quite easy to integrate to gogs.

Thanks for the info, but as far as I read, jgit is a client tool, has no relation to server side software like Gogs.

lavvy commented 7 years ago

Jgit is as good as a distributed git. If one wants to use s3 backend, he must install jgit in the server. So the part you will do in gogs is to be able to key in the s3 or minio credentials like bucket name, region, access key etc in your gogs settings .

Then after a commit or push, gogs can then use the jgit installed on the server along with the users credentials and push the repo to s3 On Apr 6, 2017 8:09 PM, "无闻" notifications@github.com wrote:

Now we are using jgit to persist our repos to s3. @unknown https://github.com/unknown you can as well give gogs an s3 backend with jgit, this could be quite easy to integrate to gogs.

Thanks for the info, but as far as jgit is a client tool, has no relation to server side software like Gogs.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/gogits/gogs/issues/4362#issuecomment-292280901, or mute the thread https://github.com/notifications/unsubscribe-auth/AGsC4yomp5UPUV6D_FispHzln0k6Xvzpks5rtThRgaJpZM4MtxQr .

unknwon commented 7 years ago

I see.. but integrate with jgit is not a small and easy thing.

lavvy commented 7 years ago

I think gogs just need an ability to add remotes. Then if a minio or s3 remote is specified then instead of git push, you jgit push

unknwon commented 7 years ago

Then if a minio or s3 remote is specified then instead of git push, you jgit push

This sounds like a complete rewrite to Git backend to me...

lavvy commented 7 years ago

Yeah, and it coexists with git too. They can be interchangeable too. On Apr 6, 2017 10:58 PM, "无闻" notifications@github.com wrote:

Then if a minio or s3 remote is specified then instead of git push, you jgit push

This sounds like a complete rewrite to Git backend to me...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/gogits/gogs/issues/4362#issuecomment-292336245, or mute the thread https://github.com/notifications/unsubscribe-auth/AGsC401jezgj0_tpp1Xbpg2Otcou_k7Aks5rtWAAgaJpZM4MtxQr .

lavvy commented 7 years ago

This is a really good feature. @unknown would you add the s3 support for gogs? On Apr 6, 2017 11:01 PM, "Uche Okonkwo" lavashonline@gmail.com wrote:

Yeah, and it coexists with git too. They can be interchangeable too. On Apr 6, 2017 10:58 PM, "无闻" notifications@github.com wrote:

Then if a minio or s3 remote is specified then instead of git push, you jgit push

This sounds like a complete rewrite to Git backend to me...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/gogits/gogs/issues/4362#issuecomment-292336245, or mute the thread https://github.com/notifications/unsubscribe-auth/AGsC401jezgj0_tpp1Xbpg2Otcou_k7Aks5rtWAAgaJpZM4MtxQr .

lavvy commented 7 years ago

Any progress On Apr 10, 2017 6:57 PM, "Uche Okonkwo" lavashonline@gmail.com wrote:

This is a really good feature. @unknown would you add the s3 support for gogs? On Apr 6, 2017 11:01 PM, "Uche Okonkwo" lavashonline@gmail.com wrote:

Yeah, and it coexists with git too. They can be interchangeable too. On Apr 6, 2017 10:58 PM, "无闻" notifications@github.com wrote:

Then if a minio or s3 remote is specified then instead of git push, you jgit push

This sounds like a complete rewrite to Git backend to me...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/gogits/gogs/issues/4362#issuecomment-292336245, or mute the thread https://github.com/notifications/unsubscribe-auth/AGsC401jezgj0_tpp1Xbpg2Otcou_k7Aks5rtWAAgaJpZM4MtxQr .