Goofys is a utility that allows users to mount their Wasabi buckets to Linux systems via FUSE. For the purposes of this article, we will be utilizing an Ubuntu Server 20.04 LTS host. We will use Go 1.16.4 and Goofy 0.24.0, the latest versions as of this article.
Requirements
Goofys relies on FUSE, which must be already installed on your system. FUSE is precompiled for popular Linux distributions such as Ubuntu. You may reference the official FUSE GitHub repo here.
The latest version of Go needs to be installed on your system. You may view the official Go documentation for installation here.
Goofys uses your API access key pair via the standard ~/.aws/credentials file created and used by the AWS CLI. Therefore, we recommend installing and configuring the AWS CLI with an API access key pair that has been confirmed to work with Wasabi.
For questions on how to use AWS CLI, please see our KB article here: How do I use AWS CLI with Wasabi?
For information on generating an API access key pair, refer to "Access Keys" in Wasabi Hot Cloud Storage.
The user you use to access your Wasabi bucket via Goofy must have the appropriate permissions for that bucket, based on your use case. If you are unfamiliar with assigning permissions to Wasabi IAM users to access buckets, please see our KB article here.
To install Goofys, run the following commands.
$ export GOPATH=$HOME/work
$ go get github.com/kahing/goofys
$ go install github.com/kahing/goofysIf you find yourself having issues during installation, please take a look at some user-specific instructions available in this GitHub Issues 527 for goofys found here.
Once installed, you may mount your Wasabi bucket using the appropriate service URL endpoint for your Wasabi bucket’s region. For this article, we will use a bucket in the us-east-1 region with the service URL https://s3.wasabisys.com. Be sure the mount point you wish to mount your Wasabi bucket already exists. If it does not, then create it using the mkdir command.
Note: This example discusses the use of Wasabi’s us-east-1 storage region. To use other Wasabi storage regions, please use the appropriate Wasabi service URL as described in this article.
To mount your bucket, use the following command. Replace my-bucket with your bucket name, and '/mount-point' with your specific mount directory:
$GOPATH/bin/goofys --endpoint https://s3.wasabisys.com my-bucket /mount-pointOnce the mount point is successfully created and Goofy successfully mounts the bucket, it should return you to the CLI prompt:
$ sudo mkdir /mnt/goofys
$ sudo $GOPATH/bin/goofys --endpoint https://s3.wasabisys.com wasabi-goofys /mnt/goofysThe previous screen shows the example that used the mount point of /mnt/goofys
Once the bucket is mounted, we can run an ls command to see the objects contained in that bucket:
$ sudo ls /mnt/goofys
'Test For Goofys.txt'Goofys is now installed on the system, and our Wasabi bucket has been successfully mounted and is now accessible through the local mount point directory.