Giter Site home page Giter Site logo

s3manager's Introduction

CloudLena

CloudLena's GitHub stats

Top Langs

s3manager's People

Contributors

cloudlena avatar fortunen avatar fortunengwenya avatar lynxstarshine avatar nphmuller avatar sergeyshevch avatar tokibi avatar tri-vo-wfo avatar vominhtri231 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

s3manager's Issues

Workaround to List Additional Shared Buckets

I've encountered this issue with Ceph Rgw where it is possible for a user to have access to some buckets that they won't see listed:

https://serverfault.com/questions/1153389/setting-read-only-access-on-ceph-rgw-bucket-for-another-user-on-same-tenant-not

I've figured out this workaround which seems reasonable for small deployments with not too many shared buckets to manage: Magnitus-@b9ccec7

Basically, you create an object containing a list of additional buckets you've shared with the user and then you can remotely edit the bucket without having to redeploy the user's s3manager environment.

I've edited my fork to work with that use-case and while it could be fancier (support json, newline separated entries, a file on the fs in addition to an s3 object, integration in the tests, etc), it appears to be good enough for what I need at the moment.

If you are interested in integrating it into the upstream project after a few adjustments, let me know.

Support for "subdirectories"

Are there any plan to support "sub" buckets

Id like to manage the bucket like a filesystem with paths like this:

  • Bucket/public/asset

Thanks
Happy to contribute

s3 manager is unable to list files

The S3 Manager is not able to list all files on S3 Bucket.

What I see on the S3 Manager:
Screenshot 2022-06-20 at 15 24 49

What Is the actual state of S3:
Screenshot 2022-06-20 at 15 28 27

Both (s3manager and minio client) are using the same credentials to connect to S3.

I am also able to create new buckets and delete them with S3 Manager; except the present one which has actual files (see screenshots above).

S3 Manager does not list those files, does not report any error logs, the download and delete button does not work.

Running the image on K8S. What could be the cause of the issue? Is it possible that S3 Manager has performance issues when S3 contains to many files?

Setting endpoint: error creating s3 client: Endpoint url cannot have fully qualified paths

I get this error:

error creating s3 client: Endpoint url cannot have fully qualified paths

docker-composer.yaml:

s3-manager:
    image: mastertinner/s3manager
    ports:
      - 8082:8080
    environment:
      - ACCESS_KEY_ID=abc
      - SECRET_ACCESS_KEY=def
      - REGION=eu-central-1
      - ENDPOINT=http://localhost
      - PORT=4572

I tried:

  • http://localhost/
  • http://localhost
  • localhost/ (nothing happens / does not start)
  • localhost (error: Endpoint: localhost/ does not follow ip address or domain name standards)

`USE_SSL=false` does not work

error listing buckets: Get "https://localhost:4572/": dial tcp 127.0.0.1:4572: connect: connection refused

With:

  s3-manager:
    image: mastertinner/s3manager
    ports:
      - 8002:8080
    environment:
      - ACCESS_KEY_ID=abc
      - SECRET_ACCESS_KEY=def
      - REGION=eu-central-1
      - ENDPOINT=localhost:4572
      - PORT=8080
      - USE_SSL=false

Unable to connect to MinIO locally

Hey there,
maybe this question can be fixed easily.
I have installed s3manager via docker with this command:
docker run -p 8080:8080 -e 'ENDPOINT=localhost:9000' -e 'ACCESS_KEY_ID=XXX' -e 'SECRET_ACCESS_KEY=XXX' -e 'USE_SSL=false' cloudlena/s3manager
But i got an error:
2024/03/01 14:57:33 error listing buckets: Get "http://localhost:9000/": dial tcp 127.0.0.1:9000: connect: connection refused
The connection is working well with php. But there i have the option to set "USE_PATH_STYLE_ENDPOINT=true".

When i clone the repo and only run "docker-compose up" the connection with MINIO is working very well, cause a new instance was build. But i don't want to use a new instance, cause i have one. And i would like to use Ceph also.

Thanks in advance
Jonas

error parsing multipart form ... i/o timeout

Thank you for this awesome light-weight user friendly webui. :)

I'm trying to upload to a bucket using s3manager. I can confirm that I can upload small files. When I attempt to upload a file of 1.4Gb I get the error.

Below is the logs from the container.


2023/07/24 08:31:54 GET	/buckets	529.695212ms
2023/07/24 08:31:54 GET	/static/js/jquery-3.6.0.min.js	3.571188ms
2023/07/24 08:31:54 GET	/static/css/material-fonts.css	4.534327ms
2023/07/24 08:31:54 GET	/static/css/materialize.min.css	4.665875ms
2023/07/24 08:31:54 GET	/static/js/materialize.min.js	9.776546ms
2023/07/24 08:31:55 GET	/static/css/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2	1.945775ms
2023/07/24 08:31:56 GET	/buckets/uploads	371.396447ms
2023/07/24 08:31:57 GET	/static/css/material-fonts.css	1.716284ms
2023/07/24 08:31:57 GET	/static/js/jquery-3.6.0.min.js	2.522539ms
2023/07/24 08:31:57 GET	/static/css/materialize.min.css	3.027266ms
2023/07/24 08:31:57 GET	/static/js/materialize.min.js	3.070578ms
2023/07/24 08:35:55 GET	/buckets/uploads/	57.839621ms
2023/07/24 08:35:55 GET	/static/css/materialize.min.css	1.48533ms
2023/07/24 08:35:55 GET	/static/css/material-fonts.css	113.423µs
2023/07/24 08:35:55 GET	/static/js/jquery-3.6.0.min.js	465.394µs
2023/07/24 08:35:55 GET	/static/js/materialize.min.js	15.216274ms
2023/07/24 08:35:58 GET	/buckets	3.015084ms
2023/07/24 08:35:58 GET	/static/css/material-fonts.css	108.604µs
2023/07/24 08:35:58 GET	/static/js/jquery-3.6.0.min.js	279.164µs
2023/07/24 08:35:58 GET	/static/css/materialize.min.css	233.249µs
2023/07/24 08:35:58 GET	/static/js/materialize.min.js	229.151µs
2023/07/24 08:35:59 GET	/buckets/uploads	3.821679ms
2023/07/24 08:35:59 GET	/static/css/material-fonts.css	102.171µs
2023/07/24 08:35:59 GET	/static/css/materialize.min.css	204.654µs
2023/07/24 08:35:59 GET	/static/js/jquery-3.6.0.min.js	217.96µs
2023/07/24 08:35:59 GET	/static/js/materialize.min.js	176.682µs
2023/07/24 08:36:01 GET	/buckets/uploads/	2.401802ms
2023/07/24 08:36:02 GET	/static/css/material-fonts.css	81.022µs
2023/07/24 08:36:02 GET	/static/js/jquery-3.6.0.min.js	162.475µs
2023/07/24 08:36:02 GET	/static/css/materialize.min.css	196.139µs
2023/07/24 08:36:02 GET	/static/js/materialize.min.js	420.229µs
2023/07/24 08:38:20 GET	/buckets/uploads/	54.228247ms
2023/07/24 08:38:20 GET	/static/css/material-fonts.css	173.797µs
2023/07/24 08:38:20 GET	/static/js/jquery-3.6.0.min.js	185.85µs
2023/07/24 08:38:20 GET	/static/css/materialize.min.css	556.916µs
2023/07/24 08:38:20 GET	/static/js/materialize.min.js	13.022241ms
2023/07/24 08:38:20 GET	/static/css/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2	234.681µs
2023/07/24 08:38:20 GET	/favicon.ico	23.614µs
2023/07/24 08:38:31 POST	/api/buckets/uploads/objects	5.020486351s
2023/07/24 08:38:31 error parsing multipart form: read tcp 172.25.0.7:8080->172.25.0.2:35326: i/o timeout
2023/07/24 08:38:31 GET	/buckets/uploads/	2.265115ms
2023/07/24 08:38:31 GET	/static/css/material-fonts.css	96.743µs
2023/07/24 08:38:31 GET	/static/css/materialize.min.css	264.217µs
2023/07/24 08:38:31 GET	/static/js/jquery-3.6.0.min.js	311.956µs
2023/07/24 08:38:31 GET	/static/js/materialize.min.js	198.183µs
2023/07/24 08:38:31 GET	/static/css/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2	218.702µs
2023/07/24 08:38:34 GET	/buckets/uploads/	2.41638ms
2023/07/24 08:38:34 GET	/static/css/material-fonts.css	147.477µs
2023/07/24 08:38:34 GET	/static/js/jquery-3.6.0.min.js	225.174µs
2023/07/24 08:38:34 GET	/static/css/materialize.min.css	516.801µs
2023/07/24 08:38:34 GET	/static/js/materialize.min.js	368.822µs
2023/07/24 08:38:34 GET	/static/css/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2	248.457µs
2023/07/24 08:41:32 POST	/api/buckets/uploads/objects	5.018585869s
2023/07/24 08:41:32 error parsing multipart form: read tcp 172.25.0.7:8080->172.25.0.2:32776: i/o timeout
2023/07/24 08:41:32 GET	/buckets/uploads/	25.159823ms
2023/07/24 08:41:33 GET	/static/css/materialize.min.css	202.68µs
2023/07/24 08:41:33 GET	/static/js/jquery-3.6.0.min.js	94.768µs
2023/07/24 08:41:33 GET	/static/css/material-fonts.css	279.826µs
2023/07/24 08:41:33 GET	/static/js/materialize.min.js	966.496µs
2023/07/24 08:41:33 GET	/static/css/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2	170.792µs

login form

Hey 👋🏼 — this looks like something I'd like to use.

I was wondering if you'd take a contribution/PR where I add a login form to provide the key/secret/endpoint/region?

Just wanted to ask before I write the code for it.

Add support for base path

By policy I have to add a base path when using Ingress. Something like myHost.com/myBasepath/s3Manager.
It would be awesome to be able to configure the tool in way that it automatically adds /myBasepath/s3Manager to any link and the redirect on / to /buckets

error listing objects: Truncated response should have continuation token set

View bucket details, server error.

2020/09/07 08:27:22 GET	/buckets/test	89.997741ms
2020/09/07 08:27:22 error listing objects: Truncated response should have continuation token set
2020/09/07 08:27:23 error listing objects: Truncated response should have continuation token set

env:

  • docker image: mastertinner/s3manager
  • s3 provider: ceph

Support for login ui

Hi

A feature to login to s3 based services would be aweseome.

  • Logging in to any provided s3 service
  • Logging in to restricted list of s3 services
  • Logging in via http basic auth

Kind regards
Sascha

Support any S3 compliant provider

Hello,
It could be a good idea to allow S3 compliant providers to work.

I've tried to use Scaleway and Alibaba Object Storage Service.
But as we can't modify the region, it's not working at all.

2021/08/04 21:00:29 error listing buckets: The authorization header is malformed; the region 'us-east-1' is wrong; expecting 'fr-par'
Here I've used Scaleway, and even tried to add the env. variable "REGION", but as it doesn't exists, it can't work at all.

Thanks! :)

Feature request: Delete directories/prefix

Thank you very much for developing this handy GUI :-)

In my case, I have hundreds of files nicely structured in subdirectories that I want to delete all at once. Is it possible to add a button to the directories/prefixes that allows to perform actions on all files with a certain prefix?

What does it actually provide?

Your screenshot just shows a list and you have nothing in your readme, but what feature set does this s3 manager provide? What can you accomplish with it?

Cannot access files in sub-directories

We are uploading a file to bucket/subdir1/file1 and we can access the file from S3 using Spring Clients, but s3manager gives a "404 not found" error.

How do I browse subdirectories and access files under those subdirectories?

404 when download file

Hi,

All is in the title ! but some details about my config :

  • the connexion work well i can browse into bucket, i see all file ...
  • when i click on "actions" - "download" i am redirected to .../api/buckets/my-super-bucket/objects/pdf/sample.pdf
  • and here 404

i use the latest version of s3manager

s3 manager does not work with object store having self signed certificates

many object like Noobaa and others when hosted with self signed certificate require the s3 clients to connect with skip ssl verfiy
as and example the amazon s3 client also gives a provision to skip ssl verfiy for s3 compatible object store hosted with self signed certificate
aws --endpoint xxxxx --no-verify-ssl s3 mv s3:xxxx aws-bucket-data/pod.yaml

hence need to enhance s3 manager with USE_Skip_SSL_Verification option in environment variable
i have patched this issue by adding the above option
4b00800

Access local environment / different endpoint

How may I access a different environment? Normally with aws-sdk we can specify and endpoint (e.g. http://localhost:4572) but is this possible in s3manager, too?

Currently I get:

s3-manager_1 | 2020/05/01 13:24:49 GET / 34.807µs
s3-manager_1 | 2020/05/01 13:24:49 error listing buckets: Get "https://s3.dualstack.us-east-1.amazonaws.com/": x509: certificate signed by unknown authority

Here is my docker-compose:

s3-manager:
    image: mastertinner/s3manager
    ports:
      - 8082:8080
    environment:
      - ACCESS_KEY_ID=abc
      - SECRET_ACCESS_KEY=def
      - REGION=eu-central-1
      - ENVIRONMENT=http://localhost:4572

P.S. Could you please add a docker-compose example to the docker-hub? Currently it is just a copy of the readme which was not very useful (explains how to build an image but on docker-hub I already have an image). This could also explain which environment variables can be set, currently I have to guess them... Example: https://hub.docker.com/r/taydy/dynamodb-manager/

P.P.S. A screenshot in the readme of the GUI would have been nice, too :)

License missing

Hi @mastertinner

Can you please provide a license for this code?

Thank you and kind regards
Sascha

USE_IAM not working

Hi,
when I try using the USE_IAM-environment variable using docker I get the error message "please provide ACCESS_KEY_ID". Tested with:

version: '3.4'
services:
  s3manager:
    image: cloudlena/s3manager
    environment:
      - USE_IAM=true
    ports:
      - 80:8080

and

docker run -p 80:8080 -e 'USE_IAM=true' cloudlena/s3manager

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.