userdata layout: repoint customer-content mounts to ${USERDATA_PATH}
Move every shared-media + ingest mount off ${HDD_PATH}/media onto the new
${USERDATA_PATH}/... convention (controller injects USERDATA_PATH = <namespace>/userdata):
- jellyfin/emby/plex: media:/media:ro ; navidrome: media/music:ro
- audiobookshelf (user 1000:1000): media/{audiobooks,podcasts}
- komga (user 1000:1000): media/comics
- calibre-web (UMASK=002): library->media/books, ingest->import/calibre
- radarr/sonarr (UMASK=002): media/{movies,tv} + downloads (sibling, same FS)
- romm: ROM library -> userdata/roms (browsable); resources stay in appdata
- immich: + external library media/photos:/external/photos:ro (registration is a
post-deploy admin step — flagged in compose + .felhom.yml)
- paperless: consume -> import/paperless (USERMAP 1000)
- nextcloud: unchanged (fully app-managed)
.felhom.yml first_steps updated for the new browsable drop-zones.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,20 +5,28 @@
|
|||||||
#
|
#
|
||||||
# Environment variables:
|
# Environment variables:
|
||||||
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
||||||
# HDD_PATH - Hangoskönyv tár útvonal
|
# USERDATA_PATH - Ügyfél-tartalom gyökér (<namespace>/userdata)
|
||||||
|
#
|
||||||
|
# Storage layout (felhom userdata convention):
|
||||||
|
# Hangoskönyvek → ${USERDATA_PATH}/media/audiobooks (írható)
|
||||||
|
# Podcastok → ${USERDATA_PATH}/media/podcasts (írható)
|
||||||
|
# Run-identity: user 1000:1000 so files land group-writable for the shared content group
|
||||||
|
# (GID 1000); the userdata dirs are setgid 2775. If the image fails to start healthy as
|
||||||
|
# 1000, the controller/operator reverts to root and relies on setgid (see REPORT).
|
||||||
|
|
||||||
services:
|
services:
|
||||||
audiobookshelf:
|
audiobookshelf:
|
||||||
image: ghcr.io/advplyr/audiobookshelf:2.19.5
|
image: ghcr.io/advplyr/audiobookshelf:2.19.5
|
||||||
container_name: audiobookshelf
|
container_name: audiobookshelf
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
user: "1000:1000"
|
||||||
environment:
|
environment:
|
||||||
- TZ=Europe/Budapest
|
- TZ=Europe/Budapest
|
||||||
volumes:
|
volumes:
|
||||||
- audiobookshelf_config:/config
|
- audiobookshelf_config:/config
|
||||||
- audiobookshelf_metadata:/metadata
|
- audiobookshelf_metadata:/metadata
|
||||||
- ${HDD_PATH}/media/audiobooks:/audiobooks
|
- ${USERDATA_PATH}/media/audiobooks:/audiobooks
|
||||||
- ${HDD_PATH}/media/podcasts:/podcasts
|
- ${USERDATA_PATH}/media/podcasts:/podcasts
|
||||||
networks:
|
networks:
|
||||||
- traefik-public
|
- traefik-public
|
||||||
deploy:
|
deploy:
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ app_info:
|
|||||||
- 'Nyisd meg a books.DOMAIN címet a böngészőben'
|
- 'Nyisd meg a books.DOMAIN címet a böngészőben'
|
||||||
- 'Jelentkezz be: admin / admin123'
|
- 'Jelentkezz be: admin / admin123'
|
||||||
- 'Változtasd meg azonnal a jelszót'
|
- 'Változtasd meg azonnal a jelszót'
|
||||||
- 'Dobj egy könyvet az ingest mappába - automatikusan feldolgozza'
|
- 'Dobj egy könyvet a Fájlkezelőben (FileBrowser) az import/calibre mappába — automatikusan feldolgozza és a media/books könyvtárba helyezi'
|
||||||
|
|
||||||
prerequisites:
|
prerequisites:
|
||||||
- 'Külső HDD szükséges az e-könyvek tárolásához'
|
- 'Külső HDD szükséges az e-könyvek tárolásához'
|
||||||
|
|||||||
@@ -5,12 +5,13 @@
|
|||||||
#
|
#
|
||||||
# Environment variables:
|
# Environment variables:
|
||||||
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
||||||
# HDD_PATH - E-könyvtár útvonal
|
# USERDATA_PATH - Ügyfél-tartalom gyökér (<namespace>/userdata)
|
||||||
#
|
#
|
||||||
# Storage layout:
|
# Storage layout (felhom userdata convention):
|
||||||
# App config/DB → calibre_web_config (named volume, NVMe)
|
# App config/DB → calibre_web_config (named volume, NVMe)
|
||||||
# Book ingest → ${HDD_PATH}/media/books/ingest (HDD, drop files here — processed and removed)
|
# Calibre library → ${USERDATA_PATH}/media/books (browsable, írható)
|
||||||
# Calibre library → ${HDD_PATH}/media/books/library (HDD, Calibre library storage)
|
# Book ingest → ${USERDATA_PATH}/import/calibre (drop-zone — processed and removed)
|
||||||
|
# Run-identity: PUID/PGID 1000 (shared content group); UMASK=002 so output is group-writable.
|
||||||
#
|
#
|
||||||
# First-time setup:
|
# First-time setup:
|
||||||
# Default login: admin / admin123 — change immediately!
|
# Default login: admin / admin123 — change immediately!
|
||||||
@@ -24,10 +25,11 @@ services:
|
|||||||
- TZ=Europe/Budapest
|
- TZ=Europe/Budapest
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
|
- UMASK=002
|
||||||
volumes:
|
volumes:
|
||||||
- calibre_web_config:/config
|
- calibre_web_config:/config
|
||||||
- ${HDD_PATH}/media/books/ingest:/cwa-book-ingest
|
- ${USERDATA_PATH}/import/calibre:/cwa-book-ingest
|
||||||
- ${HDD_PATH}/media/books/library:/calibre-library
|
- ${USERDATA_PATH}/media/books:/calibre-library
|
||||||
networks:
|
networks:
|
||||||
- traefik-public
|
- traefik-public
|
||||||
deploy:
|
deploy:
|
||||||
|
|||||||
@@ -5,7 +5,10 @@
|
|||||||
#
|
#
|
||||||
# Environment variables:
|
# Environment variables:
|
||||||
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
||||||
# HDD_PATH - Médiatár útvonal
|
# USERDATA_PATH - Ügyfél-tartalom gyökér (<namespace>/userdata)
|
||||||
|
#
|
||||||
|
# Storage layout (felhom userdata convention):
|
||||||
|
# Médiatár → ${USERDATA_PATH}/media (csak olvasható)
|
||||||
|
|
||||||
services:
|
services:
|
||||||
emby:
|
emby:
|
||||||
@@ -18,7 +21,7 @@ services:
|
|||||||
- GID=1000
|
- GID=1000
|
||||||
volumes:
|
volumes:
|
||||||
- emby_config:/config
|
- emby_config:/config
|
||||||
- ${HDD_PATH}/media:/media:ro
|
- ${USERDATA_PATH}/media:/media:ro
|
||||||
networks:
|
networks:
|
||||||
- traefik-public
|
- traefik-public
|
||||||
deploy:
|
deploy:
|
||||||
|
|||||||
@@ -69,6 +69,11 @@ app_info:
|
|||||||
- 'Telepítsd az Immich alkalmazást a telefonodra (Android/iOS)'
|
- 'Telepítsd az Immich alkalmazást a telefonodra (Android/iOS)'
|
||||||
- 'Állítsd be az automatikus feltöltést az alkalmazásban'
|
- 'Állítsd be az automatikus feltöltést az alkalmazásban'
|
||||||
- 'Hívd meg a családtagokat külön fiókokkal'
|
- 'Hívd meg a családtagokat külön fiókokkal'
|
||||||
|
# MOUNT-READY, REGISTRATION PENDING: a megosztott média/photos mappa be van csatolva
|
||||||
|
# /external/photos néven (csak olvasható), de az Immich CSAK akkor látja, ha az
|
||||||
|
# adminfelületen (Administration → External Libraries) regisztrálod a /external/photos
|
||||||
|
# útvonalat. Compose ezt NEM teszi meg automatikusan — ez egy telepítés utáni lépés.
|
||||||
|
- 'Külső könyvtár (opcionális): Administration → External Libraries → add /external/photos'
|
||||||
|
|
||||||
prerequisites:
|
prerequisites:
|
||||||
- 'Külső HDD szükséges a fotók és videók tárolásához'
|
- 'Külső HDD szükséges a fotók és videók tárolásához'
|
||||||
|
|||||||
@@ -5,17 +5,25 @@
|
|||||||
#
|
#
|
||||||
# Environment variables:
|
# Environment variables:
|
||||||
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
||||||
# HDD_PATH - HDD mount path (e.g., /mnt/hdd_1)
|
# HDD_PATH - Drive namespace root (managed upload lives under appdata)
|
||||||
|
# USERDATA_PATH - Ügyfél-tartalom gyökér (<namespace>/userdata)
|
||||||
# DB_PASSWORD - PostgreSQL password (auto-generated)
|
# DB_PASSWORD - PostgreSQL password (auto-generated)
|
||||||
#
|
#
|
||||||
# Storage layout:
|
# Storage layout (felhom userdata convention):
|
||||||
# User photos/videos → ${HDD_PATH}/appdata/immich (HDD, host path)
|
# Managed upload (Immich-owned) → ${HDD_PATH}/appdata/immich (HDD, host path — app-managed)
|
||||||
|
# External photo library (RO) → ${USERDATA_PATH}/media/photos → /external/photos
|
||||||
# PostgreSQL data → immich_postgres_data (named volume, NVMe)
|
# PostgreSQL data → immich_postgres_data (named volume, NVMe)
|
||||||
# ML model cache → immich_ml_cache (named volume, NVMe)
|
# ML model cache → immich_ml_cache (named volume, NVMe)
|
||||||
# Redis data → immich_redis_data (named volume, NVMe)
|
# Redis data → immich_redis_data (named volume, NVMe)
|
||||||
#
|
#
|
||||||
|
# ⚠ EXTERNAL LIBRARY IS NOT WIRED BY COMPOSE: mounting /external/photos only makes the files
|
||||||
|
# visible to the container. To actually surface them in Immich you MUST register an External
|
||||||
|
# Library pointing at /external/photos in the Immich admin UI (Administration → External
|
||||||
|
# Libraries) or via the API — a POST-DEPLOY step. Until then photos sharing is "mount ready,
|
||||||
|
# registration pending". See .felhom.yml first_steps + REPORT.
|
||||||
|
#
|
||||||
# First-time setup:
|
# First-time setup:
|
||||||
# Create admin account on first visit.
|
# Create admin account on first visit, then register the External Library (see above).
|
||||||
|
|
||||||
services:
|
services:
|
||||||
immich-server:
|
immich-server:
|
||||||
@@ -37,6 +45,7 @@ services:
|
|||||||
- TZ=Europe/Budapest
|
- TZ=Europe/Budapest
|
||||||
volumes:
|
volumes:
|
||||||
- ${HDD_PATH}/appdata/immich:/usr/src/app/upload
|
- ${HDD_PATH}/appdata/immich:/usr/src/app/upload
|
||||||
|
- ${USERDATA_PATH}/media/photos:/external/photos:ro
|
||||||
networks:
|
networks:
|
||||||
- traefik-public
|
- traefik-public
|
||||||
- immich-internal
|
- immich-internal
|
||||||
|
|||||||
@@ -5,7 +5,10 @@
|
|||||||
#
|
#
|
||||||
# Environment variables:
|
# Environment variables:
|
||||||
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
||||||
# HDD_PATH - Médiatár útvonal
|
# USERDATA_PATH - Ügyfél-tartalom gyökér (<namespace>/userdata) — a média a media/ alatt
|
||||||
|
#
|
||||||
|
# Storage layout (felhom userdata convention):
|
||||||
|
# Médiatár → ${USERDATA_PATH}/media (csak olvasható; a könyvtárakat az appban választod ki)
|
||||||
|
|
||||||
services:
|
services:
|
||||||
jellyfin:
|
jellyfin:
|
||||||
@@ -17,7 +20,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- jellyfin_config:/config
|
- jellyfin_config:/config
|
||||||
- jellyfin_cache:/cache
|
- jellyfin_cache:/cache
|
||||||
- ${HDD_PATH}/media:/media:ro
|
- ${USERDATA_PATH}/media:/media:ro
|
||||||
networks:
|
networks:
|
||||||
- traefik-public
|
- traefik-public
|
||||||
deploy:
|
deploy:
|
||||||
|
|||||||
@@ -5,18 +5,24 @@
|
|||||||
#
|
#
|
||||||
# Environment variables:
|
# Environment variables:
|
||||||
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
||||||
# HDD_PATH - Képregénytár útvonal
|
# USERDATA_PATH - Ügyfél-tartalom gyökér (<namespace>/userdata)
|
||||||
|
#
|
||||||
|
# Storage layout (felhom userdata convention):
|
||||||
|
# Képregénytár → ${USERDATA_PATH}/media/comics (írható)
|
||||||
|
# Run-identity: user 1000:1000 for the shared content group (GID 1000); userdata dirs are
|
||||||
|
# setgid 2775. Try-then-fallback to root if it won't start healthy as 1000 (see REPORT).
|
||||||
|
|
||||||
services:
|
services:
|
||||||
komga:
|
komga:
|
||||||
image: gotson/komga:1.20.0
|
image: gotson/komga:1.20.0
|
||||||
container_name: komga
|
container_name: komga
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
user: "1000:1000"
|
||||||
environment:
|
environment:
|
||||||
- TZ=Europe/Budapest
|
- TZ=Europe/Budapest
|
||||||
volumes:
|
volumes:
|
||||||
- komga_config:/config
|
- komga_config:/config
|
||||||
- ${HDD_PATH}/media/comics:/data
|
- ${USERDATA_PATH}/media/comics:/data
|
||||||
networks:
|
networks:
|
||||||
- traefik-public
|
- traefik-public
|
||||||
deploy:
|
deploy:
|
||||||
|
|||||||
@@ -5,7 +5,10 @@
|
|||||||
#
|
#
|
||||||
# Environment variables:
|
# Environment variables:
|
||||||
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
||||||
# HDD_PATH - Zenegyűjtemény útvonal
|
# USERDATA_PATH - Ügyfél-tartalom gyökér (<namespace>/userdata)
|
||||||
|
#
|
||||||
|
# Storage layout (felhom userdata convention):
|
||||||
|
# Zenegyűjtemény → ${USERDATA_PATH}/media/music (csak olvasható)
|
||||||
|
|
||||||
services:
|
services:
|
||||||
navidrome:
|
navidrome:
|
||||||
@@ -19,7 +22,7 @@ services:
|
|||||||
- ND_BASEURL=
|
- ND_BASEURL=
|
||||||
volumes:
|
volumes:
|
||||||
- navidrome_data:/data
|
- navidrome_data:/data
|
||||||
- ${HDD_PATH}/media/music:/music:ro
|
- ${USERDATA_PATH}/media/music:/music:ro
|
||||||
networks:
|
networks:
|
||||||
- traefik-public
|
- traefik-public
|
||||||
deploy:
|
deploy:
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ app_info:
|
|||||||
- 'Nyisd meg a paperless.DOMAIN címet a böngészőben'
|
- 'Nyisd meg a paperless.DOMAIN címet a böngészőben'
|
||||||
- 'Jelentkezz be: admin / admin'
|
- 'Jelentkezz be: admin / admin'
|
||||||
- 'Változtasd meg azonnal a jelszót'
|
- 'Változtasd meg azonnal a jelszót'
|
||||||
- 'Tölts fel egy dokumentumot (PDF, kép) és várd meg az OCR feldolgozást'
|
- 'Tölts fel egy dokumentumot a webfelületen, VAGY dobd a Fájlkezelőben (FileBrowser) az import/paperless mappába — onnan automatikusan beolvassa és OCR-rel feldolgozza'
|
||||||
- 'Hozz létre címkéket és levelezőket az automatikus rendszerezéshez'
|
- 'Hozz létre címkéket és levelezőket az automatikus rendszerezéshez'
|
||||||
|
|
||||||
prerequisites:
|
prerequisites:
|
||||||
|
|||||||
@@ -5,17 +5,20 @@
|
|||||||
#
|
#
|
||||||
# Environment variables:
|
# Environment variables:
|
||||||
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
||||||
# HDD_PATH - HDD mount path (e.g., /mnt/hdd_1)
|
# HDD_PATH - Drive namespace root (managed media/export under appdata)
|
||||||
|
# USERDATA_PATH - Ügyfél-tartalom gyökér (<namespace>/userdata)
|
||||||
# PAPERLESS_SECRET_KEY - Random secret (auto-generated)
|
# PAPERLESS_SECRET_KEY - Random secret (auto-generated)
|
||||||
# DB_PASSWORD - PostgreSQL password (auto-generated)
|
# DB_PASSWORD - PostgreSQL password (auto-generated)
|
||||||
# PAPERLESS_ADMIN_USER - Initial admin username (default: admin)
|
# PAPERLESS_ADMIN_USER - Initial admin username (default: admin)
|
||||||
# PAPERLESS_ADMIN_PASSWORD - Initial admin password
|
# PAPERLESS_ADMIN_PASSWORD - Initial admin password
|
||||||
#
|
#
|
||||||
# Storage layout:
|
# Storage layout (felhom userdata convention):
|
||||||
# Consume folder → ${HDD_PATH}/appdata/paperless/consume (HDD, drop files here)
|
# Consume drop-zone → ${USERDATA_PATH}/import/paperless (browsable — drop files here via FileBrowser)
|
||||||
# Document media → ${HDD_PATH}/appdata/paperless/media (HDD, originals + archive)
|
# Document media → ${HDD_PATH}/appdata/paperless/media (app-managed originals + archive)
|
||||||
# Export folder → ${HDD_PATH}/appdata/paperless/export (HDD, for backups)
|
# Export folder → ${HDD_PATH}/appdata/paperless/export (app-managed backups)
|
||||||
# App data/index → paperless_data (named volume, NVMe)
|
# App data/index → paperless_data (named volume, NVMe)
|
||||||
|
# Run-identity: USERMAP_UID/GID 1000 → paperless consumes + DELETES from the import drop-zone
|
||||||
|
# (group 1000, setgid 2775) without permission errors.
|
||||||
# PostgreSQL data → paperless_postgres_data (named volume, NVMe)
|
# PostgreSQL data → paperless_postgres_data (named volume, NVMe)
|
||||||
# Redis data → paperless_redis_data (named volume, NVMe)
|
# Redis data → paperless_redis_data (named volume, NVMe)
|
||||||
#
|
#
|
||||||
@@ -55,7 +58,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- paperless_data:/usr/src/paperless/data
|
- paperless_data:/usr/src/paperless/data
|
||||||
- ${HDD_PATH}/appdata/paperless/media:/usr/src/paperless/media
|
- ${HDD_PATH}/appdata/paperless/media:/usr/src/paperless/media
|
||||||
- ${HDD_PATH}/appdata/paperless/consume:/usr/src/paperless/consume
|
- ${USERDATA_PATH}/import/paperless:/usr/src/paperless/consume
|
||||||
- ${HDD_PATH}/appdata/paperless/export:/usr/src/paperless/export
|
- ${HDD_PATH}/appdata/paperless/export:/usr/src/paperless/export
|
||||||
networks:
|
networks:
|
||||||
- traefik-public
|
- traefik-public
|
||||||
|
|||||||
@@ -6,7 +6,10 @@
|
|||||||
# Environment variables:
|
# Environment variables:
|
||||||
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
||||||
# PLEX_CLAIM - Plex Claim Token
|
# PLEX_CLAIM - Plex Claim Token
|
||||||
# HDD_PATH - Médiatár útvonal
|
# USERDATA_PATH - Ügyfél-tartalom gyökér (<namespace>/userdata)
|
||||||
|
#
|
||||||
|
# Storage layout (felhom userdata convention):
|
||||||
|
# Médiatár → ${USERDATA_PATH}/media (csak olvasható)
|
||||||
|
|
||||||
services:
|
services:
|
||||||
plex:
|
plex:
|
||||||
@@ -19,7 +22,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- plex_config:/config
|
- plex_config:/config
|
||||||
- plex_transcode:/transcode
|
- plex_transcode:/transcode
|
||||||
- ${HDD_PATH}/media:/media:ro
|
- ${USERDATA_PATH}/media:/media:ro
|
||||||
networks:
|
networks:
|
||||||
- traefik-public
|
- traefik-public
|
||||||
deploy:
|
deploy:
|
||||||
|
|||||||
@@ -5,7 +5,13 @@
|
|||||||
#
|
#
|
||||||
# Environment variables:
|
# Environment variables:
|
||||||
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
||||||
# HDD_PATH - Médiatár útvonal
|
# USERDATA_PATH - Ügyfél-tartalom gyökér (<namespace>/userdata)
|
||||||
|
#
|
||||||
|
# Storage layout (felhom userdata convention):
|
||||||
|
# Filmtár → ${USERDATA_PATH}/media/movies (írható)
|
||||||
|
# Letöltések → ${USERDATA_PATH}/downloads (SIBLING of media — same FS → hardlink/atomic move)
|
||||||
|
# Run-identity: PUID/PGID 1000 (shared content group); UMASK=002 → group-writable output so
|
||||||
|
# the media server + FileBrowser can manage the files radarr produces.
|
||||||
|
|
||||||
services:
|
services:
|
||||||
radarr:
|
radarr:
|
||||||
@@ -16,10 +22,11 @@ services:
|
|||||||
- TZ=Europe/Budapest
|
- TZ=Europe/Budapest
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
|
- UMASK=002
|
||||||
volumes:
|
volumes:
|
||||||
- radarr_config:/config
|
- radarr_config:/config
|
||||||
- ${HDD_PATH}/media:/media
|
- ${USERDATA_PATH}/media/movies:/media/movies
|
||||||
- ${HDD_PATH}/downloads:/downloads
|
- ${USERDATA_PATH}/downloads:/downloads
|
||||||
networks:
|
networks:
|
||||||
- traefik-public
|
- traefik-public
|
||||||
deploy:
|
deploy:
|
||||||
|
|||||||
@@ -75,14 +75,14 @@ app_info:
|
|||||||
- "Nyisd meg az arcade.DOMAIN címet a böngészőben"
|
- "Nyisd meg az arcade.DOMAIN címet a böngészőben"
|
||||||
- "Jelentkezz be az alapértelmezett admin / admin fiókkal"
|
- "Jelentkezz be az alapértelmezett admin / admin fiókkal"
|
||||||
- "Változtasd meg azonnal a jelszót a Settings menüben"
|
- "Változtasd meg azonnal a jelszót a Settings menüben"
|
||||||
- "Töltsd fel a ROM fájlokat a library mappába (platform/játéknév struktúrával)"
|
- "Töltsd fel a ROM fájlokat a Fájlkezelőben (FileBrowser) a roms/ mappába, platform mappákba rendezve (pl. roms/gba/, roms/snes/)"
|
||||||
- "Indíts egy Scan-t a bal oldali menüben a ROM-ok beolvasásához"
|
- "Indíts egy Scan-t a bal oldali menüben a ROM-ok beolvasásához"
|
||||||
- "Opcionális: állíts be metaadat-szolgáltatókat a borítóképek és leírások automatikus letöltéséhez (lásd lent)"
|
- "Opcionális: állíts be metaadat-szolgáltatókat a borítóképek és leírások automatikus letöltéséhez (lásd lent)"
|
||||||
|
|
||||||
prerequisites:
|
prerequisites:
|
||||||
- "Külső HDD szükséges a ROM fájlok és borítóképek tárolásához"
|
- "Külső HDD szükséges a ROM fájlok és borítóképek tárolásához"
|
||||||
- "Legalább 1 GB szabad RAM ajánlott (MariaDB + Redis + RomM)"
|
- "Legalább 1 GB szabad RAM ajánlott (MariaDB + Redis + RomM)"
|
||||||
- "ROM fájlok platform mappákba rendezve (pl. library/gba/, library/snes/)"
|
- "ROM fájlok platform mappákba rendezve (pl. roms/gba/, roms/snes/)"
|
||||||
|
|
||||||
# --- Optional config (configurable before or after deployment) ---
|
# --- Optional config (configurable before or after deployment) ---
|
||||||
optional_config:
|
optional_config:
|
||||||
|
|||||||
@@ -5,14 +5,15 @@
|
|||||||
#
|
#
|
||||||
# Environment variables:
|
# Environment variables:
|
||||||
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
||||||
# HDD_PATH - HDD mount path (e.g., /mnt/hdd_1)
|
# HDD_PATH - Drive namespace root (appdata lives here)
|
||||||
|
# USERDATA_PATH - Ügyfél-tartalom gyökér (<namespace>/userdata)
|
||||||
# DB_PASSWORD - MariaDB user password (auto-generated)
|
# DB_PASSWORD - MariaDB user password (auto-generated)
|
||||||
# MYSQL_ROOT_PASSWORD - MariaDB root password (auto-generated)
|
# MYSQL_ROOT_PASSWORD - MariaDB root password (auto-generated)
|
||||||
# ROMM_AUTH_SECRET_KEY - Auth secret (auto-generated)
|
# ROMM_AUTH_SECRET_KEY - Auth secret (auto-generated)
|
||||||
#
|
#
|
||||||
# Storage layout:
|
# Storage layout (felhom userdata convention):
|
||||||
# ROM library → ${HDD_PATH}/appdata/romm/library (HDD, host path)
|
# ROM library → ${USERDATA_PATH}/roms (browsable — drop ROMs here via FileBrowser)
|
||||||
# Cover art etc → ${HDD_PATH}/appdata/romm/resources (HDD, host path)
|
# Cover art etc → ${HDD_PATH}/appdata/romm/resources (app-internal, NOT browsable)
|
||||||
# App config → romm_config (named volume, NVMe)
|
# App config → romm_config (named volume, NVMe)
|
||||||
# MariaDB data → romm_db_data (named volume, NVMe)
|
# MariaDB data → romm_db_data (named volume, NVMe)
|
||||||
# Redis data → romm_redis_data (named volume, NVMe)
|
# Redis data → romm_redis_data (named volume, NVMe)
|
||||||
@@ -62,7 +63,7 @@ services:
|
|||||||
- MOBYGAMES_API_KEY=${MOBYGAMES_API_KEY:-}
|
- MOBYGAMES_API_KEY=${MOBYGAMES_API_KEY:-}
|
||||||
- TZ=Europe/Budapest
|
- TZ=Europe/Budapest
|
||||||
volumes:
|
volumes:
|
||||||
- ${HDD_PATH}/appdata/romm/library:/romm/library
|
- ${USERDATA_PATH}/roms:/romm/library
|
||||||
- ${HDD_PATH}/appdata/romm/resources:/romm/resources
|
- ${HDD_PATH}/appdata/romm/resources:/romm/resources
|
||||||
- romm_config:/romm/config
|
- romm_config:/romm/config
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
@@ -5,7 +5,12 @@
|
|||||||
#
|
#
|
||||||
# Environment variables:
|
# Environment variables:
|
||||||
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
||||||
# HDD_PATH - Médiatár útvonal
|
# USERDATA_PATH - Ügyfél-tartalom gyökér (<namespace>/userdata)
|
||||||
|
#
|
||||||
|
# Storage layout (felhom userdata convention):
|
||||||
|
# Sorozattár → ${USERDATA_PATH}/media/tv (írható)
|
||||||
|
# Letöltések → ${USERDATA_PATH}/downloads (SIBLING of media — same FS → hardlink/atomic move)
|
||||||
|
# Run-identity: PUID/PGID 1000 (shared content group); UMASK=002 → group-writable output.
|
||||||
|
|
||||||
services:
|
services:
|
||||||
sonarr:
|
sonarr:
|
||||||
@@ -16,10 +21,11 @@ services:
|
|||||||
- TZ=Europe/Budapest
|
- TZ=Europe/Budapest
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
|
- UMASK=002
|
||||||
volumes:
|
volumes:
|
||||||
- sonarr_config:/config
|
- sonarr_config:/config
|
||||||
- ${HDD_PATH}/media:/media
|
- ${USERDATA_PATH}/media/tv:/media/tv
|
||||||
- ${HDD_PATH}/downloads:/downloads
|
- ${USERDATA_PATH}/downloads:/downloads
|
||||||
networks:
|
networks:
|
||||||
- traefik-public
|
- traefik-public
|
||||||
deploy:
|
deploy:
|
||||||
|
|||||||
Reference in New Issue
Block a user