# How to store an App's Binary Data on Skynode

{% hint style="info" %}
In most cases using ROS topics and `printfs` should fulfill your logging needs. This serves as a reference for rarer and specific logging needs.
{% endhint %}

You can also store application information on the Skynode SD card. This is useful to save any arbitrary data and have it persist beyond the lifecycle of the app. By default, the app container `/data` directory serves as a mount point for that app data directory on Skynode, which is located under Skynode `/data/app/<app-name>/data` directory.

For instance you can create a text file to retrieve later on Skynode by implementing the following in your application:

```cpp
#include <iostream>
#include <fstream>

int main() {
    std::ofstream outputFile("/data/my_file.txt"); 
    if (outputFile.is_open()) {
        outputFile << "Hello, File!\n";
        outputFile.close();
    }
    return 0;
}
```

With the app installed and running, you can SSH into Skynode and retrieve this file at any time:

```bash
root@skynode$ cat /data/app/com.auterion.example-app/data/my_file.txt 
Hello, File!
```

## Mounting Other Volumes

To mount any arbitrary volume to your app, you may specify your custom volume using *docker-compose* properties in your app *auterion-app.yml* as explained in the [Native Docker Compose](/app-development/app-framework/compose-override.md#customizing-the-docker-compose) page.


---

# 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.auterion.com/app-development/app-framework/logging-arbitrary-data-persistently.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.
