Skip to main content

JuiceFS S3 Gateway

JuiceFS S3 gateway is a HTTP server which provides S3 compatible protocol for JuiceFS. It\'s built using MinIO gateway, so the documents for MinIO also apply here.

Before setting up a JuiceFS S3 gateway, please create a JuiceFS volume. Following document uses JFS_VOL as the volume name.

Prepare Configuration

  1. Please mount JFS_VOL following getting started.

  2. The detailed configuration of JuiceFS client is exported by a virtual file(.jfsconfig) under the root path of the mounted filesystem, we save it for S3 gateway.

    sudo cat /jfs/.jfsconfig > jfs.conf

Setup S3 Gateway

We assume the platform to deploy S3 gateway is Linux, for other platforms please let us know.

  1. Download S3 gateway

    curl -LO https://s.juicefs.com/static/Linux/s3-gateway && chmod a+x s3-gateway
  2. Start S3 gateway, the configuration file jfs.conf is fetched as described above.

    MINIO_ACCESS_KEY=NORgiMvZ8b3seVD30MBL6e MINIO_SECRET_KEY=kuLF80iqlpqa/sgk21dGKFN3+F9kZBtBs ./s3-gateway --conf ./jfs.conf

    Remember to replace the access key and secret key with an own random generated string.

    For more details arguments, please check [./s3-gateway -h]{.title-ref}

  3. Access S3 Gateway

    Save the IP address and port used by S3 gateway, together with access key and secret key, here is an example of configuring awscli:

    $ aws configure
    AWS Access Key ID [None]: NORgiMvZ8b3seVD30MBL6e
    AWS Secret Access Key [None]: kuLF80iqlpqa/sgk21dGKFN3+F9kZBtBs
    Default region name [None]: us-east-1
    Default output format [None]:
    $ aws configure set default.s3.signature_version s3v4
    $ aws --endpoint-url http://192.168.64.3:9000 s3 ls

    Remember to replace the access key, secret key and endpoint URL with your own.

    The gateway also provide a WEB UI to browse, upload and download files from JuiceFS.