# Filesystems

The datarhei Core provides two filesystem abstractions that you can use in your FFmpeg process configurations.

## Disk

The disk filesystem is the directory you defined in the configuration at [storage.disk.dir](/core/configuration/storage.md#disk). Any FFmpeg command will be restricted to this directory (or its subdirectories) for file access (read or write). One exception is `/dev` in order to access, e.g. USB cameras.

In a process configuration you can use the [{diskfs} placeholder](/core/api-ffmpeg/process.md#diskfs), such that you don't need to remember and write the configured path.

The contents of the disk filesystem are accessible read-only via the `/` path of the datarhei core HTTP server.

In order to access and modify the contents of the filesystem programmatically, you can use the corresponding [API endpoints](/core/api/filesystem.md).

## Memory

The datarhei Core has built-in memory filesystem. It is enabled by default and it is only accessible via HTTP. Its contents can be accessed via the `/memfs` path of the datarhei Core HTTP server.

In the configuration in the [storage.memory](/core/configuration/storage.md#in-memory) section you can define different aspects of the memory file system, such as the maximum size of the filesystem, the maximum file size, password protection, and so on.&#x20;

In a process configuration you can use the [{memfs} placeholder](/core/api-ffmpeg/process.md#memfs), such that you don't need to remember and write the whole base URL.

The `/memfs` path is not read-only. Write access is protected via HTTP BasicAuth.

In order to access and modify the contents of the filesystem programmatically, you can use the corresponding [API endpoints](/core/api/filesystem.md).

## S3

The datarhei Core allows you to mount a S3 compatible filesystem. It is only accessible via HTTP. Its contents can be accessed via the configured path of the datarhei Core HTTP server.

In the configuration in the [storage.s3](/core/configuration/storage/s3.md) section you can define different aspects of the S3 filesystem, such as the login credentials, bucket name, and so on.

In a process configuration you can use the [{fs:\[name\]} placeholder](/core/api-ffmpeg/process.md#fs-name), such that you don't need to remember and write the whole base URL, where `[name]` is the configured name of the S3 filesystem, e.g. `{fs:aws}`.

The S3 filesystem HTTP mountpoint is not read-only. Write access is protected via HTTP BasicAuth.

In order to access and modify the contents of the filesystem programmatically, you can use the corresponding [API endpoints](/core/api/filesystem.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.datarhei.com/core/guides/filesystems.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
