diff --git a/docs/administration/library-conversion.md b/docs/administration/library-conversion.md index 26df0dac..8dca79cc 100644 --- a/docs/administration/library-conversion.md +++ b/docs/administration/library-conversion.md @@ -100,7 +100,7 @@ Any format rom-converto can reach from the stored file is allowed here, lossy on ### The conversion cache -Converted downloads are cached in `/romm/cache/converts`. A copy expires `cache_ttl_hours` after it was last served, and when the cache would grow past `cache_max_size_gb`, the least recently served copies are evicted first. The **Scheduled conversion cache cleanup** task removes expired copies every day at 04:00. A conversion that failed is remembered, so it isn't retried on every request until its cache entry expires. +Converted downloads are cached inside the container at `/tmp/romm/cache/converts`, or `$ROMM_TMP_PATH/cache/converts` when [`ROMM_TMP_PATH`](../reference/environment-variables.md) is set. The cache is cleared when the container is recreated, and converted downloads are rebuilt on demand. With the default `cache_max_size_gb` of 20, a small Docker disk (such as Unraid's `docker.img`) can fill up, so point `ROMM_TMP_PATH` at a mounted host folder if that's a concern. Library conversion writes into the library itself and doesn't use this cache. A copy expires `cache_ttl_hours` after it was last served, and when the cache would grow past `cache_max_size_gb`, the least recently served copies are evicted first. The **Scheduled conversion cache cleanup** task removes expired copies every day at 04:00. A conversion that failed is remembered, so it isn't retried on every request until its cache entry expires. ## API diff --git a/docs/getting-started/quick-start.md b/docs/getting-started/quick-start.md index a7c20c3d..73204d51 100644 --- a/docs/getting-started/quick-start.md +++ b/docs/getting-started/quick-start.md @@ -41,6 +41,7 @@ You'll want to edit the following values before launching: | `romm` | `/path/to/library` volume | Host path to the directory containing your `roms/` folder. | | `romm` | `/path/to/assets` volume | Host storage paths for saves, states and screenshots. | | `romm` | `/path/to/config` volume | Host path to a directory that will hold `config.yml`. | +| `romm` | `/path/to/sync` volume | Only if you enable the sync folder watcher or push/pull sync. | Generate the auth secret now so you don't forget: diff --git a/docs/install/backup-and-restore.md b/docs/install/backup-and-restore.md index b4602f78..b5f8d3c7 100644 --- a/docs/install/backup-and-restore.md +++ b/docs/install/backup-and-restore.md @@ -14,6 +14,7 @@ This page covers routine backups and restoring from them. | **Database** (`mysql_data`, `pg_data`, etc.) | User accounts, ROM metadata, collections, ratings, play sessions, paired devices, saves/states metadata | **Critical**: back this up nightly. | | **`/romm/assets`** | User uploads: save files, save states, user-uploaded screenshots, manuals, covers | **Critical**: back this up nightly. | | **`/romm/config`** | `config.yml` and any custom overrides | **Critical**: rarely changes but small and painful to recreate. | +| `/romm/sync` | SSH keys, `known_hosts` and incoming device files, when the sync features are enabled | **Critical** if you use sync: keys are painful to recreate and re-register on every device. | | `/romm/resources` | Metadata images (covers, screenshots) fetched from IGDB/ScreenScraper/etc. | Medium priority, and can be re-downloaded on a rescan (including it speeds up recovery). | | `/redis-data` | Task queue state | Low priority, in-flight tasks only, and lost tasks can be re-run. | | **`/romm/library`** | Your ROM files | Back this up separately. It's your source data and you should already have a backup strategy for it. | diff --git a/docs/install/unraid.md b/docs/install/unraid.md index 2178b436..fa2b5a8e 100644 --- a/docs/install/unraid.md +++ b/docs/install/unraid.md @@ -16,6 +16,10 @@ Both end up with the same running stack. !!! warning "Back up `appdata` before updates" Tearing down the container wipes its resources directory (covers, screenshots, cached metadata). Mount `appdata` on a safe path or [back it up](backup-and-restore.md) before every upgrade. + +!!! note "Only mounted paths are writable" + Containers on Unraid usually run as `99:100` (`nobody:users`), which can only write to the paths you map. If you enable `ENABLE_SYNC_FOLDER_WATCHER` or `ENABLE_SYNC_PUSH_PULL`, add a path mapping for `/romm/sync`, or the sync folder watcher stays off. Download caches live in `/tmp/romm/cache` inside `docker.img`; set `ROMM_TMP_PATH` to a mapped folder to keep them off it. + --- ## Community Apps template diff --git a/docs/resources/snippets/quick-start.docker-compose.yml b/docs/resources/snippets/quick-start.docker-compose.yml index dcfb17cf..f24991fd 100644 --- a/docs/resources/snippets/quick-start.docker-compose.yml +++ b/docs/resources/snippets/quick-start.docker-compose.yml @@ -27,6 +27,7 @@ services: - /path/to/library:/romm/library # Your game library. Check https://github.com/rommapp/romm?tab=readme-ov-file#folder-structure for more details. - /path/to/assets:/romm/assets # Uploaded saves, states, etc. - /path/to/config:/romm/config # Path where config.yml is stored + # - /path/to/sync:/romm/sync # Required for ENABLE_SYNC_FOLDER_WATCHER and ENABLE_SYNC_PUSH_PULL ports: - 80:8080 depends_on: