whatisgithub

What is goofys?

kahing/goofys — explained in plain English

Analysis updated 2026-06-26

5,542GoAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

In one sentence

A tool that mounts Amazon S3 (and compatible cloud storage like DigitalOcean Spaces or Google Cloud Storage) as a regular folder on your Linux or macOS computer, optimized for speed over full file system compatibility.

Mindmap

mindmap
  root((Goofys))
    What it does
      Mounts S3 as local folder
      Speed-first design
      Multi-provider support
    Supported Providers
      Amazon S3
      DigitalOcean Spaces
      Google Cloud Storage
      Wasabi
      Azure Blob Storage
    Tech Stack
      Go
      FUSE
      AWS credentials
    Limitations
      Sequential writes only
      No symlinks or hardlinks
      No permission tracking
    Use Cases
      Read cloud files locally
      Stream large datasets
      Access S3 like a drive
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Mount an S3 bucket as a local folder on Linux so you can browse and copy files with a regular file manager or shell commands.

USE CASE 2

Stream large datasets from S3 directly into data processing scripts without downloading everything first.

USE CASE 3

Access DigitalOcean Spaces or Google Cloud Storage as a local drive using the same FUSE-based approach as Amazon S3.

USE CASE 4

Read files from cloud storage in a shell script without using the AWS CLI by treating the bucket as a mounted folder.

What is it built with?

GoFUSE

How does it compare?

kahing/goofysbililive-go/bililive-golifei6671/interview-go
Stars5,5425,5435,546
LanguageGoGoGo
Setup difficultymoderatemoderateeasy
Complexity3/53/52/5
Audienceops devopsgeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires FUSE installed on the host and valid AWS credentials or equivalent for other cloud providers.

Licensed under Apache 2.0, use, modify, and distribute freely for any purpose including commercial use, with attribution.

So what is it?

Goofys lets you attach an Amazon S3 bucket to your computer so that it appears as a regular folder. S3 is Amazon's cloud storage service, and normally you interact with it through APIs or dedicated tools. Goofys uses a technology called FUSE to make S3 behave like a local drive, so you can navigate it with a file browser, copy files to it, or read from it the same way you would with a folder on your hard drive. The project describes itself as a "Filey System" rather than a file system because it trades full compatibility for speed. Standard file systems support features like random writes at any position in a file, fine-grained permissions, symbolic links, and renaming large folders. Goofys does not support all of those, because supporting them over S3 would require extra round trips to the cloud and slow things down. It only supports writing files sequentially, does not track file ownership or permissions in the usual way, and does not support symbolic links or hard links. Beyond Amazon S3, Goofys also works with several other cloud storage providers that implement a compatible API, including Ceph-based services like DigitalOcean Spaces, Google Cloud Storage, Wasabi, and Scaleway. It additionally supports Microsoft Azure Blob Storage and Azure Data Lake through a separate configuration described in a companion readme. Installation is available as a pre-built binary for Linux, through Homebrew for macOS, or by building from source using the Go programming language. Credentials for your cloud storage account are read from standard AWS credential files or environment variables. The project is open source under the Apache License 2.0.

Copy-paste prompts

Prompt 1
How do I install Goofys on Linux and mount my Amazon S3 bucket as a folder at ~/s3-data using my existing AWS credentials?
Prompt 2
I want to mount a DigitalOcean Spaces bucket with Goofys. What endpoint and credential settings do I need in the command?
Prompt 3
My script needs to read large files from S3 sequentially. How does Goofys handle sequential reads and is there a performance flag I should set?
Prompt 4
What are the known limitations of Goofys compared to a real POSIX file system, and which use cases will break because of them?
Prompt 5
How do I configure Goofys to mount my S3 bucket automatically at startup on Linux using systemd or fstab?

Frequently asked questions

What is goofys?

A tool that mounts Amazon S3 (and compatible cloud storage like DigitalOcean Spaces or Google Cloud Storage) as a regular folder on your Linux or macOS computer, optimized for speed over full file system compatibility.

What language is goofys written in?

Mainly Go. The stack also includes Go, FUSE.

What license does goofys use?

Licensed under Apache 2.0, use, modify, and distribute freely for any purpose including commercial use, with attribution.

How hard is goofys to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is goofys for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.