Simple Storage Service (S3)
Minio
https://min.io/docs/minio/linux/reference/minio-mc.html
Set up Nginx proxy with MinIO Server (USE 9001 in PROXY!)
Run
docker volume create minio_data docker run -d \ -p 127.0.0.1:9000:9000 \ -p 127.0.0.1:9001:9001 \ --name minio \ --restart unless-stopped \ -v minio_data:/data \ -e "MINIO_ROOT_USER=user" \ -e "MINIO_ROOT_PASSWORD=supersecret" \ quay.io/minio/minio server /data --console-address ":9001"
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:*" ], "Resource": [ "arn:aws:s3:::blob3", "arn:aws:s3:::blob3/*" ] } ] }
s3cmd
sudo apt install s3cmd # --- создать файл конфигурации (~/.s3cfg) в интерактивном режиме s3cmd --configure # --- выгрузить файл в корзину s3cmd put </path/to/file> s3://bucket_name # --- задать http заголовки файлам в s3 s3cmd modify --add-header=x-amz-meta-patient:petrov \ --add-header=x-amz-meta-status:ok \ s3://hospital/image01.dat \ s3://hospital/image02.dat # --- отобразить информацию о файлах s3cmd info s3://hospital/image01.dat s3://hospital/image02.dat # --- синхронизировать файлы в корзине и в локальной директории s3cmd sync s3://<имя бакета> <путь к локальной папке на компьютере>/ # --- выполнить команду с указанием файла конфигурации s3cmd -c /path/to/config/file put </path/to/file> s3://bucket_name
Файл конфигурации ~/.s3cfg
[default] access_key = "access_key" secret_key = "secret_key" bucket_location = ru-1 host_base = endpoint_url host_bucket = endpoint_url use_https = True