filebroswer and calibre updated, stirling-pds removed, readme updated

This commit is contained in:
2026-02-15 09:00:14 +01:00
parent 0bd3f2a0e2
commit d82e2398c5
7 changed files with 187 additions and 57 deletions
+134 -8
View File
@@ -11,15 +11,57 @@ app-catalog-felhom.eu/ <- This repo (source of truth)
│ ├── actualbudget/
│ │ ├── docker-compose.yml
│ │ └── .felhom.yml # App metadata for felhom-controller
│ ├── adventurelog/
│ ├── audiobookshelf/
│ ├── bentopdf/
│ ├── bookstack/
│ ├── calcom/
│ ├── calibre-web/
│ ├── claper/
│ ├── code-server/
│ ├── crafty-controller/
│ ├── docmost/
│ ├── emby/
│ ├── filebrowser/
│ ├── ghost/
│ ├── gitea/
│ ├── glance/
│ ├── gokapi/
│ ├── grafana/
│ ├── gramps-web/
│ ├── home-assistant/
│ ├── homebox/
│ ├── homepage/
│ ├── immich/
│ ├── jellyfin/
│ ├── kimai/
│ ├── komga/
│ ├── mealie/
│ ├── n8n/
│ ├── navidrome/
│ ├── nextcloud/
│ ├── onlyoffice/
│ ├── opengist/
│ ├── outline/
│ ├── paperless-ngx/
│ ├── papra/
│ ├── plant-it/
│ ├── plex/
│ ├── privatebin/
│ ├── radarr/
│ ├── rallly/
│ ├── romm/
│ ├── stirling-pdf/
── vaultwarden/
│ ├── seerr/
── sonarr/
│ ├── tandoor/
│ ├── termix/
│ ├── uptime-kuma/
│ ├── vaultwarden/
│ ├── vikunja/
│ ├── wanderer/
│ ├── wger/
│ ├── wishlist/
│ └── zipline/
└── scripts/
└── generate-customer.sh # LEGACY — generates customer-specific templates for Portainer
```
@@ -109,30 +151,114 @@ deploy_fields:
| App | DB Type | RAM (request / limit) | Pi | HDD Data | Subdomain |
|-----|---------|----------------------|-----|----------|-----------|
| ActualBudget | None (file) | 50M / 256M | yes | -- | budget.* |
| AdventureLog | PostgreSQL | 100M / 384M | yes | -- | travel.* |
| Audiobookshelf | None (file) | 100M / 512M | yes | `${HDD_PATH}/media/audiobooks/` | audiobooks.* |
| BentoPDF | None (file) | 100M / 384M | yes | -- | pdf.* |
| BookStack | MariaDB | 150M / 512M | yes | -- | wiki.* |
| Cal.com | PostgreSQL | 200M / 768M | no | -- | cal.* |
| Calibre-Web Automated | None (file) | 200M / 768M | no | `${HDD_PATH}/media/books/` | books.* |
| Claper | PostgreSQL | 100M / 384M | yes | -- | present.* |
| Code-Server | None (file) | 200M / 1024M | no | -- | code.* |
| Crafty Controller | None (file) | 256M / 2048M | no | -- | minecraft.* |
| Docmost | PostgreSQL + Redis | 200M / 768M | no | -- | docs.* |
| FileBrowser | None (file) | 30M / 128M | yes | `${HDD_PATH}/storage/filebrowser/` | files.* |
| Emby | None (file) | 512M / 2048M | no | `${HDD_PATH}/media/` | emby.* |
| FileBrowser Quantum | None (file) | 50M / 256M | yes | `${HDD_PATH}/storage/filebrowser/` | files.* |
| Ghost | SQLite | 150M / 512M | no | -- | blog.* |
| Gitea | SQLite | 100M / 512M | yes | -- | git.* |
| Glance | None (file) | 20M / 128M | yes | -- | dashboard.* |
| Gokapi | None (file) | 30M / 128M | yes | -- | share.* |
| Grafana | None (file) | 100M / 512M | yes | -- | grafana.* |
| Gramps Web | None (file) | 100M / 384M | yes | -- | family.* |
| Home Assistant | None (file) | 256M / 1024M | yes | -- | ha.* |
| Homebox | None (SQLite) | 50M / 256M | yes | -- | inventory.* |
| Homepage | None (file) | 50M / 256M | yes | -- | home.* |
| Immich | PostgreSQL + Redis | 2048M / 4096M | no | `${HDD_PATH}/storage/immich/` | photos.* |
| Jellyfin | None (file) | 512M / 2048M | no | `${HDD_PATH}/media/` | media.* |
| Kimai | MariaDB | 100M / 384M | yes | -- | time.* |
| Komga | None (file) | 200M / 512M | yes | `${HDD_PATH}/media/comics/` | comics.* |
| Mealie | None (SQLite) | 200M / 1000M | yes | -- | recipes.* |
| n8n | None (file) | 150M / 512M | no | -- | auto.* |
| Navidrome | None (file) | 50M / 256M | yes | `${HDD_PATH}/media/music/` | music.* |
| Nextcloud | MariaDB + Redis | 256M / 1024M | no | `${HDD_PATH}/storage/nextcloud/` | cloud.* |
| OnlyOffice | None (file) | 512M / 2048M | no | -- | office.* |
| OpenGist | None (file) | 30M / 128M | yes | -- | gist.* |
| Outline | PostgreSQL + Redis | 200M / 768M | no | -- | kb.* |
| Paperless-ngx | PostgreSQL + Redis | 500M / 1152M | yes | `${HDD_PATH}/storage/paperless/` | paperless.* |
| ROMM | MariaDB + Redis | 300M / 1024M | no | `${HDD_PATH}/storage/romm/` | arcade.* |
| Stirling-PDF | None | 200M / 512M | yes | -- | pdf.* |
| Papra | None (file) | 50M / 256M | yes | -- | papra.* |
| Plant-it | None (file) | 50M / 256M | yes | -- | plants.* |
| Plex | None (file) | 512M / 2048M | no | `${HDD_PATH}/media/` | plex.* |
| PrivateBin | None (file) | 30M / 128M | yes | -- | paste.* |
| Radarr | None (file) | 150M / 512M | yes | `${HDD_PATH}/media/` | radarr.* |
| Rallly | PostgreSQL | 50M / 256M | yes | -- | poll.* |
| RomM | MariaDB + Redis | 300M / 1024M | no | `${HDD_PATH}/storage/romm/` | arcade.* |
| Jellyseerr | None (file) | 100M / 384M | yes | -- | requests.* |
| Sonarr | None (file) | 150M / 512M | yes | `${HDD_PATH}/media/` | sonarr.* |
| Tandoor Recipes | PostgreSQL | 150M / 512M | yes | -- | recipes.* |
| Termix | None (file) | 30M / 128M | yes | -- | terminal.* |
| Uptime Kuma | None (file) | 50M / 256M | yes | -- | status.* |
| Vaultwarden | None (SQLite) | 50M / 256M | yes | -- | vault.* |
| Vikunja | None (file) | 50M / 256M | yes | -- | tasks.* |
| Wanderer | None (file) | 100M / 384M | yes | -- | hike.* |
| wger | SQLite | 100M / 384M | yes | -- | fitness.* |
| Wishlist | None (file) | 30M / 128M | yes | -- | wishes.* |
| Zipline | PostgreSQL | 100M / 512M | no | -- | img.* |
### Variable types per app
| App | DOMAIN | HDD_PATH | Secrets |
|-----|:------:|:--------:|---------|
| ActualBudget | yes | -- | -- |
| AdventureLog | yes | -- | SECRET_KEY, DB_PASSWORD |
| Audiobookshelf | yes | yes | -- |
| BentoPDF | yes | -- | -- |
| BookStack | yes | -- | DB_PASSWORD |
| Cal.com | yes | -- | NEXTAUTH_SECRET, CALENDSO_ENCRYPTION_KEY, DB_PASSWORD |
| Calibre-Web Automated | yes | yes | -- |
| Claper | yes | -- | SECRET_KEY_BASE, DB_PASSWORD |
| Code-Server | yes | -- | PASSWORD |
| Crafty Controller | yes | -- | -- |
| Docmost | yes | -- | APP_SECRET, DB_PASSWORD |
| FileBrowser | yes | yes | -- |
| Emby | yes | yes | -- |
| FileBrowser Quantum | yes | yes | -- |
| Ghost | yes | -- | -- |
| Gitea | yes | -- | -- |
| Glance | yes | -- | -- |
| Gokapi | yes | -- | -- |
| Grafana | yes | -- | GF_SECURITY_ADMIN_PASSWORD |
| Gramps Web | yes | -- | GRAMPSWEB_SECRET_KEY |
| Home Assistant | yes | -- | -- |
| Homebox | yes | -- | -- |
| Homepage | yes | -- | -- |
| Immich | yes | yes | DB_PASSWORD |
| Jellyfin | yes | yes | -- |
| Kimai | yes | -- | DB_PASSWORD, ADMIN_EMAIL, ADMIN_PASSWORD |
| Komga | yes | yes | -- |
| Mealie | yes | -- | -- |
| n8n | yes | -- | N8N_ENCRYPTION_KEY |
| Navidrome | yes | yes | -- |
| Nextcloud | yes | yes | DB_PASSWORD, MYSQL_ROOT_PASSWORD, NEXTCLOUD_ADMIN_USER, NEXTCLOUD_ADMIN_PASSWORD |
| OnlyOffice | yes | -- | JWT_SECRET |
| OpenGist | yes | -- | -- |
| Outline | yes | -- | SECRET_KEY, UTILS_SECRET, DB_PASSWORD |
| Paperless-ngx | yes | yes | PAPERLESS_SECRET_KEY, DB_PASSWORD, PAPERLESS_ADMIN_USER, PAPERLESS_ADMIN_PASSWORD |
| ROMM | yes | yes | DB_PASSWORD, MYSQL_ROOT_PASSWORD, ROMM_AUTH_SECRET_KEY |
| Stirling-PDF | yes | -- | -- |
| Papra | yes | -- | -- |
| Plant-it | yes | -- | JWT_SECRET |
| Plex | yes | yes | PLEX_CLAIM |
| PrivateBin | yes | -- | -- |
| Radarr | yes | yes | -- |
| Rallly | yes | -- | SECRET_PASSWORD, DB_PASSWORD |
| RomM | yes | yes | DB_PASSWORD, MYSQL_ROOT_PASSWORD, ROMM_AUTH_SECRET_KEY |
| Jellyseerr | yes | -- | -- |
| Sonarr | yes | yes | -- |
| Tandoor Recipes | yes | -- | SECRET_KEY, DB_PASSWORD |
| Termix | yes | -- | -- |
| Uptime Kuma | yes | -- | -- |
| Vaultwarden | yes | -- | ADMIN_TOKEN |
| Vikunja | yes | -- | VIKUNJA_SERVICE_JWTSECRET |
| Wanderer | yes | -- | MEILI_MASTER_KEY |
| wger | yes | -- | SECRET_KEY |
| Wishlist | yes | -- | -- |
| Zipline | yes | -- | CORE_SECRET, DB_PASSWORD |
### Storage strategy
+1 -1
View File
@@ -6,7 +6,7 @@
display_name: "BentoPDF"
description: "Adatvédelmi fókuszú PDF eszköztár"
category: "tools"
subdomain: "bento"
subdomain: "pdf"
slug: "bentopdf"
# --- Resource hints (displayed on deploy screen) ---
+2 -2
View File
@@ -1,5 +1,5 @@
# BentoPDF - Adatvédelmi fókuszú PDF eszköztár
# Domain: bento.${DOMAIN}
# Domain: pdf.${DOMAIN}
# Database: None (file-based)
# RAM: ~100M (mem_limit: 384M) | Pi-compatible: Yes
#
@@ -27,7 +27,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.bentopdf.rule=Host(`bento.${DOMAIN}`)"
- "traefik.http.routers.bentopdf.rule=Host(`pdf.${DOMAIN}`)"
- "traefik.http.routers.bentopdf.entrypoints=websecure"
- "traefik.http.routers.bentopdf.tls=true"
- "traefik.http.routers.bentopdf.tls.certresolver=letsencrypt"
+15 -15
View File
@@ -3,17 +3,17 @@
# =============================================================================
# --- Display info (shown on dashboard) ---
display_name: "Calibre-web"
description: "Webes felület a Calibre e-könyv könyvtáradhoz"
display_name: "Calibre-Web Automated"
description: "Automatizált e-könyv könyvtár - konvertálás, metaadat kezelés és webes olvasó"
category: "media"
subdomain: "books"
slug: "calibre-web"
# --- Resource hints (displayed on deploy screen) ---
resources:
mem_request: "50M"
mem_limit: "256M"
pi_compatible: true
mem_request: "200M"
mem_limit: "768M"
pi_compatible: false
needs_hdd: true
# --- Deploy fields (first deployment only) ---
@@ -34,24 +34,24 @@ deploy_fields:
# --- App info (info page content) ---
app_info:
tagline: "E-könyv könyvtár webes felülettel és e-olvasó küldéssel"
tagline: 'Automatizált e-könyv könyvtár - könyvfeldolgozás, formátumkonverzió és OPDS feed'
default_creds: "admin / admin123"
docs_url: "https://github.com/janeczku/calibre-web/wiki"
docs_url: "https://github.com/crocodilestick/Calibre-Web-Automated/wiki"
use_cases:
- 'E-könyvek böngészése és letöltése webes felületen'
- 'Küldés közvetlenül Kindle-re vagy más e-olvasóra'
- 'Több felhasználó külön könyvtárral és jogosultságokkal'
- 'On-the-fly formátum konvertálás (EPUB, MOBI, PDF)'
- 'OPDS feed kompatibilis e-olvasó alkalmazásokhoz'
- 'Automatizált e-könyv feldolgozás - csak dobd be az ingest mappába'
- 'Automatikus formátumkonverzió (EPUB, MOBI, PDF, AZW3)'
- 'OPDS feed e-olvasókhoz (Kindle, KOReader, Moon+ Reader)'
- 'Webes olvasó böngészőben'
- 'KOReader szinkronizáció (olvasási pozíció, könyvjelzők)'
first_steps:
- 'Nyisd meg a books.DOMAIN címet a böngészőben'
- 'Jelentkezz be: admin / admin123'
- 'Változtasd meg azonnal a jelszót'
- 'Állítsd be a Calibre könyvtár útvonalat (/books)'
- 'Töltsd fel az e-könyveidet vagy másold a könyvtárba'
- 'Dobj egy könyvet az ingest mappába - automatikusan feldolgozza'
prerequisites:
- 'Külső HDD szükséges az e-könyvek tárolásához'
- 'Calibre könyvtár (metadata.db) ajánlott a legjobb élményhez'
- 'x86 processzor szükséges (a CWA tartalmazza a Calibre binárist)'
- 'Legalább 768 MB szabad RAM ajánlott'
+14 -5
View File
@@ -1,15 +1,23 @@
# Calibre-web - Webes felület a Calibre e-könyv könyvtáradhoz
# Calibre-Web Automated - Automatizált e-könyv könyvtár
# Domain: books.${DOMAIN}
# Database: None (file-based)
# RAM: ~50M (mem_limit: 256M) | Pi-compatible: Yes
# RAM: ~200M (mem_limit: 768M) | Pi-compatible: No
#
# Environment variables:
# DOMAIN - Your domain (e.g., demo-felhom.eu)
# HDD_PATH - E-könyvtár útvonal
#
# Storage layout:
# 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 → ${HDD_PATH}/media/books/library (HDD, Calibre library storage)
#
# First-time setup:
# Default login: admin / admin123 — change immediately!
services:
calibre-web:
image: lscr.io/linuxserver/calibre-web:0.6.24
image: crocodilestick/calibre-web-automated:latest
container_name: calibre-web
restart: unless-stopped
environment:
@@ -18,13 +26,14 @@ services:
- PGID=1000
volumes:
- calibre_web_config:/config
- ${HDD_PATH}/media/books:/books
- ${HDD_PATH}/media/books/ingest:/cwa-book-ingest
- ${HDD_PATH}/media/books/library:/calibre-library
networks:
- traefik-public
deploy:
resources:
limits:
memory: 256M
memory: 768M
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8083"]
interval: 30s
+13 -16
View File
@@ -1,14 +1,11 @@
# =============================================================================
# .felhom.yml — App metadata for felhom-controller
# =============================================================================
# Place alongside docker-compose.yml in each stack directory:
# /opt/docker/stacks/filebrowser/.felhom.yml
# =============================================================================
# --- Display info (shown on dashboard) ---
display_name: "FileBrowser"
description: "Egyszerű webes fájlkezelő"
category: "tools"
display_name: "FileBrowser Quantum"
description: "Modern webes fájlkezelő - valós idejű kereséssel és előnézettel"
category: "files"
subdomain: "files"
# --- Asset slug ---
@@ -16,8 +13,8 @@ slug: "filebrowser"
# --- Resource hints (displayed on deploy screen) ---
resources:
mem_request: "30M"
mem_limit: "128M"
mem_request: "50M"
mem_limit: "256M"
pi_compatible: true
needs_hdd: true
@@ -39,19 +36,19 @@ deploy_fields:
# --- App info (info page content) ---
app_info:
tagline: 'Egyszerű webes fájlkezelő - böngéssz, tölts fel és ossz meg fájlokat'
default_creds: 'admin / admin'
docs_url: 'https://filebrowser.org/'
tagline: 'Modern webes fájlkezelő - valós idejű keresés, fájlelőnézet és modern felület'
default_creds: "admin / admin"
docs_url: "https://filebrowserquantum.com/en/docs/"
use_cases:
- 'Fájlok böngészése és kezelése webes felületen'
- 'Fájlok feltöltése és letöltése bárhonnan'
- 'Fájlok böngészése valós idejű kereséssel'
- 'Fájlok és mappák megosztása linkkel'
- 'Beépített szöveg- és kódszerkesztő'
- 'Több felhasználó saját mappákkal és jogosultságokkal'
- 'Több tárolási forrás kezelése'
- 'Videó, kép és PDF előnézet a böngészőben'
- 'Több felhasználó saját jogosultságokkal és hozzáférés-vezérléssel'
first_steps:
- 'Nyisd meg a files.DOMAIN címet a böngészőben'
- 'Jelentkezz be: admin / admin'
- 'Változtasd meg azonnal a jelszót a beállításokban'
- 'Böngészd a fájlokat vagy tölts fel újakat'
- 'Böngészd a fájlokat vagy tölts fel újakat'
+8 -10
View File
@@ -1,7 +1,7 @@
# FileBrowser - Simple Web File Manager
# FileBrowser Quantum - Modern Web File Manager
# Domain: files.${DOMAIN}
# Database: None (file-based)
# RAM: ~30MB (mem_limit: 128M) | Pi-compatible: Yes
# RAM: ~50M (mem_limit: 256M) | Pi-compatible: Yes
#
# Environment variables:
# DOMAIN - Your domain (e.g., demo-felhom.eu)
@@ -9,31 +9,29 @@
#
# Storage layout:
# Browsable files → ${HDD_PATH}/storage/filebrowser (HDD, host path — user files only)
# App config/DB → filebrowser_config (named volume, NVMe)
# App data/DB → filebrowser_data (named volume, NVMe)
#
# First-time setup:
# Default login: admin / admin — change immediately!
services:
filebrowser:
image: filebrowser/filebrowser:v2.32.0
image: gtstef/filebrowser:latest
container_name: filebrowser
restart: unless-stopped
environment:
- TZ=Europe/Budapest
- PUID=1000
- PGID=1000
volumes:
- filebrowser_data:/home/filebrowser/data
- ${HDD_PATH}/storage/filebrowser:/srv
- filebrowser_config:/database
networks:
- traefik-public
deploy:
resources:
limits:
memory: 128M
memory: 256M
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:80/health"]
test: ["CMD", "wget", "--spider", "-q", "http://localhost:80"]
interval: 30s
timeout: 5s
retries: 3
@@ -47,7 +45,7 @@ services:
- "traefik.http.services.filebrowser.loadbalancer.server.port=80"
volumes:
filebrowser_config:
filebrowser_data:
networks:
traefik-public: