> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.zata.prathamchopde.site/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.zata.prathamchopde.site/_mcp/server.

# goofys

goofys mounts a Zata bucket as a folder on Linux. It is fast for reading and writing whole files, but it is not a full disk — see [What goofys cannot do](#what-goofys-cannot-do). Its last release is from 2020. The examples use Indore (`https://idr01.zata.ai`); for a bucket in Mumbai, use `https://bom01.zata.ai`.

> **Info**
>
> Tested with goofys 0.24.0 (Linux x86_64) on Zata in October 2026.

## Before you start

* A bucket — see [Create a bucket](/buckets/create-a-bucket).
* An access key from the same region as the bucket — see [Access keys](/access/access-keys).
* A Linux machine (x86_64).

## Connection settings

| Setting                 | Value                                                                        |
| ----------------------- | ---------------------------------------------------------------------------- |
| Endpoint (`--endpoint`) | `https://idr01.zata.ai` for Indore, `https://bom01.zata.ai` for Mumbai       |
| Keys                    | in `~/.aws/credentials` — the key must be from the same region as the bucket |
| Path-style              | used by default — no option needed                                           |

## Set up goofys

#### Install goofys

Download the ready-made program:

```bash
curl -sL -o goofys https://github.com/kahing/goofys/releases/download/v0.24.0/goofys
chmod +x goofys
sudo mv goofys /usr/local/bin/
goofys --version
```

#### Save your keys

Open the credentials file:

```bash
mkdir -p ~/.aws
nano ~/.aws/credentials
```

Add your keys:

**`~/.aws/credentials`**

```ini ~/.aws/credentials
[default]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEY
```

Then make the file private:

```bash
chmod 600 ~/.aws/credentials
```

#### Mount the bucket

Replace `my-bucket` with your bucket name:

```bash
mkdir -p ~/zata
goofys --endpoint https://idr01.zata.ai my-bucket ~/zata
```

To mount only one folder of the bucket, add it after a colon:

```bash
goofys --endpoint https://idr01.zata.ai my-bucket:folder ~/zata
```

## Test it

```bash
echo "Hello from goofys" > ~/zata/hello.txt
ls -l ~/zata
```

The file `hello.txt` also appears in your bucket in the Zata console under **Buckets**.

## Unmount

```bash
fusermount -u ~/zata
```

## What goofys cannot do

| Action                                                        | On goofys                                                                                                  |
| ------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| Add to the end of a file (`>>`, log files)                    | Not supported — a file must be written in one go.                                                          |
| Change part of an existing file (databases, editing in place) | Not supported.                                                                                             |
| Symlinks and hard links                                       | Not supported.                                                                                             |
| `chmod` / `chown`                                             | Ignored. Set the owner and mode for the whole mount with `--uid`, `--gid`, `--file-mode` and `--dir-mode`. |
| Local cache                                                   | Only with the separate `catfs` tool (`--cache`).                                                           |

If you need these, use [s3fs](/connect/mount/s3fs) or `rclone mount` (see [rclone on Linux](/connect/command-line/rclone-linux)). Both are slower but behave more like a normal disk.

## Troubleshooting

| Problem                                      | Fix                                                                                                                                  |
| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `Operation not supported` when saving a file | The app adds to or edits the file in place. goofys cannot do that — see the table above.                                             |
| Access denied, or the mount fails            | Check `~/.aws/credentials` and that the key can use this bucket. Run goofys in the foreground with `-f --debug_s3` to see the error. |
| Bucket not found                             | Use the endpoint of the region the bucket is in (`idr01` or `bom01`).                                                                |
| Other users cannot see the files             | Add `-o allow_other`. As a normal user, this needs `user_allow_other` in `/etc/fuse.conf`.                                           |

For other errors, see [Access denied](/help/troubleshooting/access-denied) and [Endpoint and region](/help/troubleshooting/endpoint-and-region).