updated app catalog with storage path option

This commit is contained in:
2026-02-12 07:35:56 +01:00
parent 82a8c8b6cf
commit 872949c3d7
9 changed files with 235 additions and 43 deletions
+28 -14
View File
@@ -26,11 +26,24 @@ felhom-app-catalog/
## How It Works
1. **Templates** contain Docker Compose files with `{{DOMAIN}}` placeholders
2. **Customer configs** define which apps each customer gets + any version overrides
3. **render.sh** generates per-customer Gitea repos with domain-substituted compose files
1. **Templates** contain Docker Compose files with `{{DOMAIN}}` and `{{HDD_PATH}}` placeholders
2. **Customer configs** define which apps each customer gets, their domain, HDD path, and any version overrides
3. **render.sh** generates per-customer Gitea repos with all placeholders substituted
4. **Portainer GitOps** on each customer node pulls from their repo and deploys
### Placeholder Reference
| Placeholder | Source | Example |
|-------------|--------|---------|
| `{{DOMAIN}}` | `domain:` in customer YAML | `demo-felhom.eu` |
| `{{HDD_PATH}}` | `hdd_path:` in customer YAML | `/mnt/hdd_1` |
### Storage Strategy
- **HDD host paths** (`{{HDD_PATH}}/storage/...`): Large user data — photos, documents, ROMs
- **Named Docker volumes** (on NVMe): Databases, app config, caches — need fast I/O
- Templates that don't use `{{HDD_PATH}}` work without it (e.g. ActualBudget, Mealie)
## Workflow
### Adding a new app to the catalog
@@ -77,14 +90,15 @@ overrides:
## App Catalog
| App | DB Type | RAM Usage | Pi-Compatible | Description |
|-----|---------|-----------|---------------|-------------|
| ActualBudget | None (file) | ~50MB | ✅ | Personal finance / budgeting |
| Docmost | PostgreSQL + Redis | ~200MB | ⚠️ (heavy) | Wiki / documentation (Notion-like) |
| FileBrowser | None (file) | ~30MB | ✅ | Web file manager |
| Homebox | None (SQLite) | ~50MB | ✅ | Home inventory management |
| Immich | PostgreSQL + Redis | ~4GB | ❌ | Photo & video management |
| Mealie | None (SQLite) | ~200MB | ✅ | Recipe manager & meal planner |
| ROMM | MariaDB + Redis | ~300MB | ⚠️ | ROM / game library manager |
| Stirling-PDF | None | ~200MB | | PDF manipulation toolkit |
| Vaultwarden | None (SQLite) | ~50MB | ✅ | Password manager (Bitwarden) |
| App | DB Type | RAM | Pi | HDD Data | Subdomain |
|-----|---------|-----|-----|----------|-----------|
| ActualBudget | None (file) | ~50MB | ✅ | — | budget.* |
| Docmost | PostgreSQL + Redis | ~200MB | ⚠️ | — | docs.* |
| FileBrowser | None (file) | ~30MB | ✅ | `{{HDD_PATH}}/` | files.* |
| Homebox | None (SQLite) | ~50MB | ✅ | — | inventory.* |
| Immich | PostgreSQL + Redis | ~4GB | ❌ | `{{HDD_PATH}}/storage/immich/` | photos.* |
| Mealie | None (SQLite) | ~200MB | ✅ | — | recipes.* |
| Paperless-ngx | PostgreSQL + Redis | ~500MB | | `{{HDD_PATH}}/storage/paperless/` | paperless.* |
| ROMM | MariaDB + Redis | ~300MB | ⚠️ | `{{HDD_PATH}}/storage/romm/` | arcade.* |
| Stirling-PDF | None | ~200MB | ✅ | — | pdf.* |
| Vaultwarden | None (SQLite) | ~50MB | ✅ | — | vault.* |