> ## Documentation Index
> Fetch the complete documentation index at: https://docs.presenton.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Storage and processing

> Configure app data, databases, presentation memory, document parsing, and telemetry.

Presenton stores more than database records. Plan persistence for `/app_data` first, then add an external database or tune document and memory processing when the workload requires it.

## Persistent app data

`/app_data` contains presentations, uploaded files, generated assets, templates, exports, settings, authentication state, the default SQLite database, and local memory data.

```bash theme={null}
docker run -it --name presenton \
  --publish 5001:80 \
  --volume "./app_data:/app_data" \
  ghcr.io/presenton/presenton:v0.9.0-beta
```

Use a named volume or durable platform disk in production. Back it up before image upgrades, migrations, or authentication recovery.

## Database

Without `DATABASE_URL`, Presenton uses SQLite in `/app_data`. This is suitable for personal and small single-instance deployments.

Set `DATABASE_URL` to move application records to PostgreSQL or MySQL. Keep `/app_data` persistent as well—generated assets, uploads, exports, templates, and local memory are still stored there.

<Tabs>
  <Tab title="PostgreSQL">
    ```dotenv theme={null}
    DATABASE_URL=postgresql://presenton:password@postgres:5432/presenton
    MIGRATE_DATABASE_ON_STARTUP=true
    ```
  </Tab>

  <Tab title="MySQL">
    ```dotenv theme={null}
    DATABASE_URL=mysql://presenton:password@mysql:3306/presenton
    MIGRATE_DATABASE_ON_STARTUP=true
    ```
  </Tab>
</Tabs>

The repository's Compose services enable startup migrations. For production, take a database backup before applying a new release and avoid running multiple instances through a migration until you have verified the release's deployment behavior.

## Presentation memory

Presenton uses Mem0 OSS with local Qdrant and SQLite storage. Memory is scoped to a presentation and helps the assistant preserve relevant context during iterative edits.

| Variable                   | Default                                             | Purpose                                       |
| -------------------------- | --------------------------------------------------- | --------------------------------------------- |
| `MEM0_ENABLED`             | `true`                                              | Enable or disable memory                      |
| `MEM0_LLM_MODEL`           | `OLLAMA_MODEL` or `llama3.1:latest`                 | Model used by memory extraction               |
| `MEM0_LLM_API_KEY`         | `ollama`                                            | API-key placeholder for the compatible client |
| `MEM0_LLM_BASE_URL`        | `OLLAMA_URL` or `http://host.docker.internal:11434` | Memory model endpoint                         |
| `MEM0_DIR`                 | `/app_data/mem0`                                    | Local memory storage root                     |
| `MEM0_EMBEDDER_PROVIDER`   | `fastembed`                                         | Embedding provider                            |
| `MEM0_EMBEDDER_MODEL`      | `BAAI/bge-small-en-v1.5`                            | Embedding model                               |
| `MEM0_EMBEDDING_DIMS`      | `384`                                               | Vector dimensions                             |
| `MEM0_SPACY_MODEL`         | `en_core_web_sm`                                    | spaCy model                                   |
| `MEM0_REQUIRE_SPACY_MODEL` | `true`                                              | Require the configured spaCy model            |

The official Docker image includes the required spaCy model. Disable Mem0 if your deployment does not need iterative presentation memory or cannot reach the configured memory model.

## Document parsing

LiteParse extracts content from uploaded documents before the presentation outline is generated.

```dotenv theme={null}
LITEPARSE_DPI=120
LITEPARSE_NUM_WORKERS=1
```

Increase DPI when image-heavy or scanned documents need clearer extraction, at the cost of memory and processing time. Increase workers only after measuring available CPU and memory under concurrent uploads.

<Card title="Supported document formats" icon="file-lines" href="/open-source/v0.9.0-beta/features/document-extraction">
  Review supported office documents, PDFs, spreadsheets, text files, and images.
</Card>

## Telemetry

Disable anonymous tracking with:

```dotenv theme={null}
DISABLE_ANONYMOUS_TRACKING=true
```

This setting controls anonymous product telemetry; it does not prevent a configured hosted AI, image, or search provider from receiving the content sent to that provider. Use local providers and disable external search and images when the workflow requires local-only processing.

## Backup checklist

* Back up `/app_data` on a regular schedule.
* Back up the external database separately when `DATABASE_URL` is set.
* Test restoration in a separate instance.
* Protect backups because they may contain uploaded documents and generated presentations.
* Keep the application version and configuration used by each backup.
