feat: use ${SUBDOMAIN} variable in all templates

All 51 docker-compose.yml: replaced hardcoded subdomain.${DOMAIN}
with ${SUBDOMAIN}.${DOMAIN} in Traefik labels, app env vars, and
comments.

All 51 .felhom.yml: added SUBDOMAIN deploy field (type: subdomain)
with default matching existing subdomain metadata value.

Works with felhom-controller v0.27.0 which validates and stores the
user-chosen subdomain in app.yaml. Existing deployed apps get
SUBDOMAIN auto-injected via InjectMissingFields() on next sync.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-22 15:06:44 +01:00
parent a969cbd557
commit 87d0e5e59d
102 changed files with 542 additions and 134 deletions
+8
View File
@@ -29,6 +29,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "budget"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: 'Költségvetés tervező - pénzügyeid kézben tartása egyszerűen'
+2 -2
View File
@@ -1,5 +1,5 @@
# ActualBudget - Personal Finance / Budgeting
# Domain: budget.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~50MB (mem_limit: 256M) | Pi-compatible: Yes
#
@@ -32,7 +32,7 @@ services:
start_period: 10s
labels:
- "traefik.enable=true"
- "traefik.http.routers.actualbudget.rule=Host(`budget.${DOMAIN}`)"
- "traefik.http.routers.actualbudget.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.actualbudget.entrypoints=websecure"
- "traefik.http.routers.actualbudget.tls=true"
- "traefik.http.routers.actualbudget.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "travel"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: SECRET_KEY
label: "Titkosítási kulcs"
type: secret
+6 -6
View File
@@ -1,5 +1,5 @@
# AdventureLog - Utazási napló és kalandtervező
# Domain: travel.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: postgres
# RAM: ~100M (mem_limit: 384M) | Pi-compatible: Yes
#
@@ -22,9 +22,9 @@ services:
- PGDATABASE=adventurelog
- PGUSER=adventurelog
- PGPASSWORD=${DB_PASSWORD}
- PUBLIC_URL=https://travel.${DOMAIN}
- CSRF_TRUSTED_ORIGINS=https://travel.${DOMAIN}
- FRONTEND_URL=https://travel.${DOMAIN}
- PUBLIC_URL=https://${SUBDOMAIN}.${DOMAIN}
- CSRF_TRUSTED_ORIGINS=https://${SUBDOMAIN}.${DOMAIN}
- FRONTEND_URL=https://${SUBDOMAIN}.${DOMAIN}
volumes:
- adventurelog_media:/code/media
networks:
@@ -70,13 +70,13 @@ services:
environment:
- PUBLIC_SERVER_URL=http://adventurelog:8000
- BODY_SIZE_LIMIT=Infinity
- ORIGIN=https://travel.${DOMAIN}
- ORIGIN=https://${SUBDOMAIN}.${DOMAIN}
networks:
- traefik-public
- adventurelog-internal
labels:
- "traefik.enable=true"
- "traefik.http.routers.adventurelog.rule=Host(`travel.${DOMAIN}`)"
- "traefik.http.routers.adventurelog.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.adventurelog.entrypoints=websecure"
- "traefik.http.routers.adventurelog.tls=true"
- "traefik.http.routers.adventurelog.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "audiobooks"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: HDD_PATH
label: "Hangoskönyv tár útvonal"
type: path
+2 -2
View File
@@ -1,5 +1,5 @@
# Audiobookshelf - Hangoskönyv és podcast kezelő szerver
# Domain: audiobooks.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~100M (mem_limit: 512M) | Pi-compatible: Yes
#
@@ -33,7 +33,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.audiobookshelf.rule=Host(`audiobooks.${DOMAIN}`)"
- "traefik.http.routers.audiobookshelf.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.audiobookshelf.entrypoints=websecure"
- "traefik.http.routers.audiobookshelf.tls=true"
- "traefik.http.routers.audiobookshelf.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "pdf"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: "Adatvédelmi fókuszú PDF eszköztár - a fájlok soha nem hagyják el a szervered"
+2 -2
View File
@@ -1,5 +1,5 @@
# BentoPDF - Adatvédelmi fókuszú PDF eszköztár
# Domain: pdf.${DOMAIN}
# Domain: ${SUBDOMAIN}.${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(`pdf.${DOMAIN}`)"
- "traefik.http.routers.bentopdf.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.bentopdf.entrypoints=websecure"
- "traefik.http.routers.bentopdf.tls=true"
- "traefik.http.routers.bentopdf.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "wiki"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: APP_KEY
label: "Alkalmazás kulcs"
type: secret
+3 -3
View File
@@ -1,5 +1,5 @@
# BookStack - Egyszerű, könyv-szerű wiki és dokumentáció platform
# Domain: wiki.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: mariadb
# RAM: ~150M (mem_limit: 512M) | Pi-compatible: Yes
#
@@ -26,7 +26,7 @@ services:
- DB_PASSWORD=${DB_PASSWORD}
- DB_DATABASE=bookstack
- APP_KEY=${APP_KEY}
- APP_URL=https://wiki.${DOMAIN}
- APP_URL=https://${SUBDOMAIN}.${DOMAIN}
volumes:
- bookstack_config:/config
networks:
@@ -44,7 +44,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.bookstack.rule=Host(`wiki.${DOMAIN}`)"
- "traefik.http.routers.bookstack.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.bookstack.entrypoints=websecure"
- "traefik.http.routers.bookstack.tls=true"
- "traefik.http.routers.bookstack.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "cal"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: NEXTAUTH_SECRET
label: "NextAuth titkosítási kulcs"
type: secret
+4 -4
View File
@@ -1,5 +1,5 @@
# Cal.com - Nyílt forráskódú időpontfoglaló (Calendly alternatíva)
# Domain: cal.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: postgres
# RAM: ~200M (mem_limit: 768M) | Pi-compatible: No
#
@@ -21,8 +21,8 @@ services:
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET}
- CALENDSO_ENCRYPTION_KEY=${CALENDSO_ENCRYPTION_KEY}
- DATABASE_URL=postgresql://calcom:${DB_PASSWORD}@calcom-postgres:5432/calcom
- NEXT_PUBLIC_WEBAPP_URL=https://cal.${DOMAIN}
- NEXTAUTH_URL=https://cal.${DOMAIN}
- NEXT_PUBLIC_WEBAPP_URL=https://${SUBDOMAIN}.${DOMAIN}
- NEXTAUTH_URL=https://${SUBDOMAIN}.${DOMAIN}
networks:
- traefik-public
- calcom-internal
@@ -38,7 +38,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.calcom.rule=Host(`cal.${DOMAIN}`)"
- "traefik.http.routers.calcom.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.calcom.entrypoints=websecure"
- "traefik.http.routers.calcom.tls=true"
- "traefik.http.routers.calcom.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "books"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: HDD_PATH
label: "E-könyvtár útvonal"
type: path
+2 -2
View File
@@ -1,5 +1,5 @@
# Calibre-Web Automated - Automatizált e-könyv könyvtár
# Domain: books.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~200M (mem_limit: 768M) | Pi-compatible: No
#
@@ -42,7 +42,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.calibre-web.rule=Host(`books.${DOMAIN}`)"
- "traefik.http.routers.calibre-web.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.calibre-web.entrypoints=websecure"
- "traefik.http.routers.calibre-web.tls=true"
- "traefik.http.routers.calibre-web.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "present"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: SECRET_KEY_BASE
label: "Titkosítási kulcs"
type: secret
+3 -3
View File
@@ -1,5 +1,5 @@
# Claper - Interaktív prezentáció és közönség bevonás
# Domain: present.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: postgres
# RAM: ~100M (mem_limit: 384M) | Pi-compatible: Yes
#
@@ -19,7 +19,7 @@ services:
environment:
- DATABASE_URL=postgresql://claper:${DB_PASSWORD}@claper-postgres:5432/claper
- SECRET_KEY_BASE=${SECRET_KEY_BASE}
- BASE_URL=https://present.${DOMAIN}
- BASE_URL=https://${SUBDOMAIN}.${DOMAIN}
volumes:
- claper_uploads:/app/priv/static/uploads
networks:
@@ -37,7 +37,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.claper.rule=Host(`present.${DOMAIN}`)"
- "traefik.http.routers.claper.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.claper.entrypoints=websecure"
- "traefik.http.routers.claper.tls=true"
- "traefik.http.routers.claper.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "code"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: PASSWORD
label: "Hozzáférési jelszó"
type: secret
+2 -2
View File
@@ -1,5 +1,5 @@
# Code-Server - VS Code a böngészőben - kódolás bárhonnan
# Domain: code.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~200M (mem_limit: 1024M) | Pi-compatible: No
#
@@ -34,7 +34,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.code-server.rule=Host(`code.${DOMAIN}`)"
- "traefik.http.routers.code-server.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.code-server.entrypoints=websecure"
- "traefik.http.routers.code-server.tls=true"
- "traefik.http.routers.code-server.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "minecraft"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: "Minecraft szerver kezelő - hozd létre a saját világodat"
@@ -1,5 +1,5 @@
# Crafty Controller - Minecraft szerver kezelő webes felülettel
# Domain: minecraft.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~256M (mem_limit: 2048M) | Pi-compatible: No
#
@@ -33,7 +33,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.crafty-controller.rule=Host(`minecraft.${DOMAIN}`)"
- "traefik.http.routers.crafty-controller.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.crafty-controller.entrypoints=websecure"
- "traefik.http.routers.crafty-controller.tls=true"
- "traefik.http.routers.crafty-controller.tls.certresolver=letsencrypt"
+8
View File
@@ -29,6 +29,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "docs"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: APP_SECRET
label: "Alkalmazás titkosítási kulcs"
type: secret
+3 -3
View File
@@ -1,5 +1,5 @@
# Docmost - Modern Wiki / Documentation (Notion-like)
# Domain: docs.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: PostgreSQL + Redis
# RAM: ~200MB (mem_limit: 768M total — docmost 384M + postgres 256M + redis 128M) | Pi-compatible: No (heavy)
#
@@ -25,7 +25,7 @@ services:
- APP_SECRET=${APP_SECRET}
- DATABASE_URL=postgresql://docmost:${DB_PASSWORD}@docmost-postgres:5432/docmost
- REDIS_URL=redis://docmost-redis:6379
- APP_URL=https://docs.${DOMAIN}
- APP_URL=https://${SUBDOMAIN}.${DOMAIN}
- STORAGE_DRIVER=local
- FILE_UPLOAD_SIZE_LIMIT=50mb
- TZ=Europe/Budapest
@@ -46,7 +46,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.docmost.rule=Host(`docs.${DOMAIN}`)"
- "traefik.http.routers.docmost.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.docmost.entrypoints=websecure"
- "traefik.http.routers.docmost.tls=true"
- "traefik.http.routers.docmost.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "emby"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: HDD_PATH
label: "Médiatár útvonal"
type: path
+2 -2
View File
@@ -1,5 +1,5 @@
# Emby - Személyes média szerver élő TV és DVR támogatással
# Domain: emby.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~512M (mem_limit: 2048M) | Pi-compatible: No
#
@@ -33,7 +33,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.emby.rule=Host(`emby.${DOMAIN}`)"
- "traefik.http.routers.emby.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.emby.entrypoints=websecure"
- "traefik.http.routers.emby.tls=true"
- "traefik.http.routers.emby.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "blog"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: "Professzionális blog és hírlevél platform"
+3 -3
View File
@@ -1,5 +1,5 @@
# Ghost - Professzionális blog és hírlevél platform
# Domain: blog.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~150M (mem_limit: 512M) | Pi-compatible: No
#
@@ -14,7 +14,7 @@ services:
environment:
- TZ=Europe/Budapest
- NODE_ENV=production
- url=https://blog.${DOMAIN}
- url=https://${SUBDOMAIN}.${DOMAIN}
- database__client=sqlite3
- database__connection__filename=content/data/ghost.db
volumes:
@@ -33,7 +33,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.ghost.rule=Host(`blog.${DOMAIN}`)"
- "traefik.http.routers.ghost.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.ghost.entrypoints=websecure"
- "traefik.http.routers.ghost.tls=true"
- "traefik.http.routers.ghost.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "git"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: "Saját Git szerver - GitHub-szerű felület, privát repók"
+4 -4
View File
@@ -1,5 +1,5 @@
# Gitea - Könnyű, saját Git szerver webes felülettel
# Domain: git.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~100M (mem_limit: 512M) | Pi-compatible: Yes
#
@@ -13,8 +13,8 @@ services:
restart: unless-stopped
environment:
- TZ=Europe/Budapest
- GITEA__server__ROOT_URL=https://git.${DOMAIN}
- GITEA__server__SSH_DOMAIN=git.${DOMAIN}
- GITEA__server__ROOT_URL=https://${SUBDOMAIN}.${DOMAIN}
- GITEA__server__SSH_DOMAIN=${SUBDOMAIN}.${DOMAIN}
- GITEA__database__DB_TYPE=sqlite3
volumes:
- gitea_data:/data
@@ -32,7 +32,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.gitea.rule=Host(`git.${DOMAIN}`)"
- "traefik.http.routers.gitea.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.gitea.entrypoints=websecure"
- "traefik.http.routers.gitea.tls=true"
- "traefik.http.routers.gitea.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "dashboard"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: "Minimalista dashboard - RSS, időjárás, könyvjelzők egy oldalon"
+2 -2
View File
@@ -1,5 +1,5 @@
# Glance - Minimalista információs dashboard
# Domain: dashboard.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~20M (mem_limit: 128M) | Pi-compatible: Yes
#
@@ -29,7 +29,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.glance.rule=Host(`dashboard.${DOMAIN}`)"
- "traefik.http.routers.glance.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.glance.entrypoints=websecure"
- "traefik.http.routers.glance.tls=true"
- "traefik.http.routers.glance.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "share"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: "Ideiglenes fájlmegosztás lejáró linkekkel"
+2 -2
View File
@@ -1,5 +1,5 @@
# Gokapi - Ideiglenes fájlmegosztás lejáró linkekkel
# Domain: share.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~30M (mem_limit: 128M) | Pi-compatible: Yes
#
@@ -30,7 +30,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.gokapi.rule=Host(`share.${DOMAIN}`)"
- "traefik.http.routers.gokapi.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.gokapi.entrypoints=websecure"
- "traefik.http.routers.gokapi.tls=true"
- "traefik.http.routers.gokapi.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "grafana"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: GF_SECURITY_ADMIN_PASSWORD
label: "Admin jelszó"
type: secret
+3 -3
View File
@@ -1,5 +1,5 @@
# Grafana - Professzionális monitoring és vizualizációs platform
# Domain: grafana.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~100M (mem_limit: 512M) | Pi-compatible: Yes
#
@@ -14,7 +14,7 @@ services:
restart: unless-stopped
environment:
- TZ=Europe/Budapest
- GF_SERVER_ROOT_URL=https://grafana.${DOMAIN}
- GF_SERVER_ROOT_URL=https://${SUBDOMAIN}.${DOMAIN}
- GF_SECURITY_ADMIN_PASSWORD=${GF_SECURITY_ADMIN_PASSWORD:-admin}
volumes:
- grafana_data:/var/lib/grafana
@@ -32,7 +32,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.grafana.rule=Host(`grafana.${DOMAIN}`)"
- "traefik.http.routers.grafana.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.grafana.entrypoints=websecure"
- "traefik.http.routers.grafana.tls=true"
- "traefik.http.routers.grafana.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "family"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: GRAMPSWEB_SECRET_KEY
label: "Titkosítási kulcs"
type: secret
+2 -2
View File
@@ -1,5 +1,5 @@
# Gramps Web - Családfa készítő és genealógiai szoftver
# Domain: family.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~100M (mem_limit: 384M) | Pi-compatible: Yes
#
@@ -34,7 +34,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.gramps-web.rule=Host(`family.${DOMAIN}`)"
- "traefik.http.routers.gramps-web.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.gramps-web.entrypoints=websecure"
- "traefik.http.routers.gramps-web.tls=true"
- "traefik.http.routers.gramps-web.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "ha"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: "Okos otthon központ - automatizálás és vezérlés egy helyről"
+2 -2
View File
@@ -1,5 +1,5 @@
# Home Assistant - Nyílt forráskódú okos otthon központ
# Domain: ha.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~256M (mem_limit: 1024M) | Pi-compatible: Yes
#
@@ -29,7 +29,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.home-assistant.rule=Host(`ha.${DOMAIN}`)"
- "traefik.http.routers.home-assistant.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.home-assistant.entrypoints=websecure"
- "traefik.http.routers.home-assistant.tls=true"
- "traefik.http.routers.home-assistant.tls.certresolver=letsencrypt"
+9 -1
View File
@@ -29,6 +29,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "inventory"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: 'Otthoni leltár kezelő - tartsd számon a tárgyaidat'
@@ -45,4 +53,4 @@ app_info:
- 'Nyisd meg az inventory.DOMAIN címet a böngészőben'
- 'Hozd létre a fiókodat az első megnyitáskor'
- 'Add hozzá a helyszíneket (pl. nappali, konyha, garázs)'
- 'Kezdd el felvenni a tárgyakat fotókkal'
- 'Kezdd el felvenni a tárgyakat fotókkal'
+2 -2
View File
@@ -1,5 +1,5 @@
# Homebox - Home Inventory Management
# Domain: inventory.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (SQLite, file-based)
# RAM: ~50MB (mem_limit: 256M) | Pi-compatible: Yes
#
@@ -35,7 +35,7 @@ services:
start_period: 10s
labels:
- "traefik.enable=true"
- "traefik.http.routers.homebox.rule=Host(`inventory.${DOMAIN}`)"
- "traefik.http.routers.homebox.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.homebox.entrypoints=websecure"
- "traefik.http.routers.homebox.tls=true"
- "traefik.http.routers.homebox.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "home"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: "Személyes kezdőlap - szolgáltatás státuszok és widgetek egy helyen"
+2 -2
View File
@@ -1,5 +1,5 @@
# Homepage - Személyre szabható kezdőlap szolgáltatás widgetekkel
# Domain: home.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~50M (mem_limit: 256M) | Pi-compatible: Yes
#
@@ -30,7 +30,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.homepage.rule=Host(`home.${DOMAIN}`)"
- "traefik.http.routers.homepage.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.homepage.entrypoints=websecure"
- "traefik.http.routers.homepage.tls=true"
- "traefik.http.routers.homepage.tls.certresolver=letsencrypt"
+8
View File
@@ -29,6 +29,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "photos"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: DB_PASSWORD
label: "Adatbázis jelszó"
type: secret
+2 -2
View File
@@ -1,5 +1,5 @@
# Immich - Self-hosted Photo & Video Management
# Domain: photos.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: PostgreSQL (with VectorChord) + Redis
# RAM: ~4GB minimum (mem_limit: 4096M total — server 2048M + ML 1536M + postgres 256M + redis 128M) | Pi-compatible: No (ML too heavy)
#
@@ -52,7 +52,7 @@ services:
start_period: 60s
labels:
- "traefik.enable=true"
- "traefik.http.routers.immich.rule=Host(`photos.${DOMAIN}`)"
- "traefik.http.routers.immich.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.immich.entrypoints=websecure"
- "traefik.http.routers.immich.tls=true"
- "traefik.http.routers.immich.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "media"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: HDD_PATH
label: "Médiatár útvonal"
type: path
+2 -2
View File
@@ -1,5 +1,5 @@
# Jellyfin - Ingyenes és nyílt forráskódú média szerver
# Domain: media.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~512M (mem_limit: 2048M) | Pi-compatible: No
#
@@ -32,7 +32,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.jellyfin.rule=Host(`media.${DOMAIN}`)"
- "traefik.http.routers.jellyfin.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.jellyfin.entrypoints=websecure"
- "traefik.http.routers.jellyfin.tls=true"
- "traefik.http.routers.jellyfin.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "time"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: DB_PASSWORD
label: "Adatbázis jelszó"
type: secret
+2 -2
View File
@@ -1,5 +1,5 @@
# Kimai - Időkövetés és projektmenedzsment
# Domain: time.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: mariadb
# RAM: ~100M (mem_limit: 384M) | Pi-compatible: Yes
#
@@ -39,7 +39,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.kimai.rule=Host(`time.${DOMAIN}`)"
- "traefik.http.routers.kimai.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.kimai.entrypoints=websecure"
- "traefik.http.routers.kimai.tls=true"
- "traefik.http.routers.kimai.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "comics"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: HDD_PATH
label: "Képregénytár útvonal"
type: path
+2 -2
View File
@@ -1,5 +1,5 @@
# Komga - Képregény és manga szerver OPDS támogatással
# Domain: comics.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~200M (mem_limit: 512M) | Pi-compatible: Yes
#
@@ -31,7 +31,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.komga.rule=Host(`comics.${DOMAIN}`)"
- "traefik.http.routers.komga.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.komga.entrypoints=websecure"
- "traefik.http.routers.komga.tls=true"
- "traefik.http.routers.komga.tls.certresolver=letsencrypt"
+9 -1
View File
@@ -29,6 +29,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "recipes"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: 'Receptkezelő és étkezés tervező a családnak'
@@ -47,4 +55,4 @@ app_info:
- 'Jelentkezz be: changeme@example.com / MyPassword'
- 'Változtasd meg azonnal az email címet és jelszót'
- 'Importáld az első receptet egy weboldal URL beillesztésével'
- 'Próbáld ki az étkezés tervezőt'
- 'Próbáld ki az étkezés tervezőt'
+3 -3
View File
@@ -1,5 +1,5 @@
# Mealie - Recipe Manager & Meal Planner
# Domain: recipes.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (SQLite, built-in)
# RAM: ~200MB (mem_limit: 1000M) | Pi-compatible: Yes (arm64 only)
#
@@ -25,7 +25,7 @@ services:
- TZ=Europe/Budapest
- MAX_WORKERS=1
- WEB_CONCURRENCY=1
- BASE_URL=https://recipes.${DOMAIN}
- BASE_URL=https://${SUBDOMAIN}.${DOMAIN}
volumes:
- mealie_data:/app/data/
networks:
@@ -42,7 +42,7 @@ services:
start_period: 60s
labels:
- "traefik.enable=true"
- "traefik.http.routers.mealie.rule=Host(`recipes.${DOMAIN}`)"
- "traefik.http.routers.mealie.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.mealie.entrypoints=websecure"
- "traefik.http.routers.mealie.tls=true"
- "traefik.http.routers.mealie.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "auto"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: N8N_ENCRYPTION_KEY
label: "Titkosítási kulcs"
type: secret
+4 -4
View File
@@ -1,5 +1,5 @@
# n8n - Workflow automatizálás vizuális szerkesztővel
# Domain: auto.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~150M (mem_limit: 512M) | Pi-compatible: No
#
@@ -14,9 +14,9 @@ services:
restart: unless-stopped
environment:
- TZ=Europe/Budapest
- N8N_HOST=auto.${DOMAIN}
- N8N_HOST=${SUBDOMAIN}.${DOMAIN}
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://auto.${DOMAIN}/
- WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN}/
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
volumes:
- n8n_data:/home/node/.n8n
@@ -34,7 +34,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.n8n.rule=Host(`auto.${DOMAIN}`)"
- "traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.n8n.entrypoints=websecure"
- "traefik.http.routers.n8n.tls=true"
- "traefik.http.routers.n8n.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "music"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: HDD_PATH
label: "Zenegyűjtemény útvonal"
type: path
+2 -2
View File
@@ -1,5 +1,5 @@
# Navidrome - Könnyű zene szerver Subsonic API támogatással
# Domain: music.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~50M (mem_limit: 256M) | Pi-compatible: Yes
#
@@ -34,7 +34,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.navidrome.rule=Host(`music.${DOMAIN}`)"
- "traefik.http.routers.navidrome.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.navidrome.entrypoints=websecure"
- "traefik.http.routers.navidrome.tls=true"
- "traefik.http.routers.navidrome.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "cloud"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: DB_PASSWORD
label: "Adatbázis jelszó"
type: secret
+4 -4
View File
@@ -1,5 +1,5 @@
# Nextcloud - Saját felhő tárhely - Google Drive/Dropbox alternatíva
# Domain: cloud.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: mariadb
# RAM: ~256M (mem_limit: 1024M) | Pi-compatible: No
#
@@ -29,9 +29,9 @@ services:
- MYSQL_HOST=nextcloud-db
- NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER:-admin}
- NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD}
- NEXTCLOUD_TRUSTED_DOMAINS=cloud.${DOMAIN}
- NEXTCLOUD_TRUSTED_DOMAINS=${SUBDOMAIN}.${DOMAIN}
- OVERWRITEPROTOCOL=https
- OVERWRITEHOST=cloud.${DOMAIN}
- OVERWRITEHOST=${SUBDOMAIN}.${DOMAIN}
- REDIS_HOST=nextcloud-redis
volumes:
- nextcloud_html:/var/www/html
@@ -51,7 +51,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.nextcloud.rule=Host(`cloud.${DOMAIN}`)"
- "traefik.http.routers.nextcloud.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.nextcloud.entrypoints=websecure"
- "traefik.http.routers.nextcloud.tls=true"
- "traefik.http.routers.nextcloud.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "office"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: JWT_SECRET
label: "JWT titkosítási kulcs"
type: secret
+2 -2
View File
@@ -1,5 +1,5 @@
# OnlyOffice - Teljes értékű irodai csomag a böngészőben
# Domain: office.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~512M (mem_limit: 2048M) | Pi-compatible: No
#
@@ -32,7 +32,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.onlyoffice.rule=Host(`office.${DOMAIN}`)"
- "traefik.http.routers.onlyoffice.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.onlyoffice.entrypoints=websecure"
- "traefik.http.routers.onlyoffice.tls=true"
- "traefik.http.routers.onlyoffice.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "gist"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: "Kód snippetek megosztása - privát GitHub Gist alternatíva"
+3 -3
View File
@@ -1,5 +1,5 @@
# OpenGist - Kód snippetek megosztása (GitHub Gist alternatíva)
# Domain: gist.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~30M (mem_limit: 128M) | Pi-compatible: Yes
#
@@ -13,7 +13,7 @@ services:
restart: unless-stopped
environment:
- TZ=Europe/Budapest
- OG_EXTERNAL_URL=https://gist.${DOMAIN}
- OG_EXTERNAL_URL=https://${SUBDOMAIN}.${DOMAIN}
volumes:
- opengist_data:/opengist
networks:
@@ -30,7 +30,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.opengist.rule=Host(`gist.${DOMAIN}`)"
- "traefik.http.routers.opengist.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.opengist.entrypoints=websecure"
- "traefik.http.routers.opengist.tls=true"
- "traefik.http.routers.opengist.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "kb"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: SECRET_KEY
label: "Titkosítási kulcs"
type: secret
+3 -3
View File
@@ -1,5 +1,5 @@
# Outline - Modern csapat tudásbázis Markdown támogatással
# Domain: kb.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: postgres
# RAM: ~200M (mem_limit: 768M) | Pi-compatible: No
#
@@ -25,7 +25,7 @@ services:
- UTILS_SECRET=${UTILS_SECRET}
- DATABASE_URL=postgres://outline:${DB_PASSWORD}@outline-postgres:5432/outline
- REDIS_URL=redis://outline-redis:6379
- URL=https://kb.${DOMAIN}
- URL=https://${SUBDOMAIN}.${DOMAIN}
- PORT=3000
- FILE_STORAGE=local
- FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data
@@ -46,7 +46,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.outline.rule=Host(`kb.${DOMAIN}`)"
- "traefik.http.routers.outline.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.outline.entrypoints=websecure"
- "traefik.http.routers.outline.tls=true"
- "traefik.http.routers.outline.tls.certresolver=letsencrypt"
+8
View File
@@ -57,6 +57,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "paperless"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: DB_PASSWORD
label: "Adatbázis jelszó"
type: secret
+3 -3
View File
@@ -1,5 +1,5 @@
# Paperless-ngx - Document Management System (DMS)
# Domain: paperless.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: PostgreSQL + Redis
# RAM: ~500MB (mem_limit: 1152M total — paperless 768M + postgres 256M + redis 128M) | Pi-compatible: Yes (arm64, 4GB+ RAM recommended)
#
@@ -40,7 +40,7 @@ services:
- PAPERLESS_DBPASS=${DB_PASSWORD}
- PAPERLESS_DBNAME=paperless
- PAPERLESS_SECRET_KEY=${PAPERLESS_SECRET_KEY}
- PAPERLESS_URL=https://paperless.${DOMAIN}
- PAPERLESS_URL=https://${SUBDOMAIN}.${DOMAIN}
- PAPERLESS_TIME_ZONE=Europe/Budapest
- PAPERLESS_OCR_LANGUAGE=${PAPERLESS_OCR_LANGUAGE:-eng}
- PAPERLESS_OCR_LANGUAGES=${PAPERLESS_OCR_LANGUAGE:-}
@@ -72,7 +72,7 @@ services:
start_period: 60s
labels:
- "traefik.enable=true"
- "traefik.http.routers.paperless.rule=Host(`paperless.${DOMAIN}`)"
- "traefik.http.routers.paperless.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.paperless.entrypoints=websecure"
- "traefik.http.routers.paperless.tls=true"
- "traefik.http.routers.paperless.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "papra"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: "Minimalista dokumentumtár - egyszerű rendszerezés és keresés"
+3 -3
View File
@@ -1,5 +1,5 @@
# Papra - Minimalista dokumentumtár és rendszerező
# Domain: papra.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~50M (mem_limit: 256M) | Pi-compatible: Yes
#
@@ -13,7 +13,7 @@ services:
restart: unless-stopped
environment:
- TZ=Europe/Budapest
- APP_BASE_URL=https://papra.${DOMAIN}
- APP_BASE_URL=https://${SUBDOMAIN}.${DOMAIN}
volumes:
- papra_data:/app/data
networks:
@@ -30,7 +30,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.papra.rule=Host(`papra.${DOMAIN}`)"
- "traefik.http.routers.papra.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.papra.entrypoints=websecure"
- "traefik.http.routers.papra.tls=true"
- "traefik.http.routers.papra.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "plants"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: JWT_SECRET
label: "JWT titkosítási kulcs"
type: secret
+2 -2
View File
@@ -1,5 +1,5 @@
# Plant-it - Növénynapló és gondozás emlékeztető
# Domain: plants.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~50M (mem_limit: 256M) | Pi-compatible: Yes
#
@@ -35,7 +35,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.plant-it.rule=Host(`plants.${DOMAIN}`)"
- "traefik.http.routers.plant-it.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.plant-it.entrypoints=websecure"
- "traefik.http.routers.plant-it.tls=true"
- "traefik.http.routers.plant-it.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "plex"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: PLEX_CLAIM
label: "Plex Claim Token"
type: text
+2 -2
View File
@@ -1,5 +1,5 @@
# Plex - Népszerű média szerver csiszolt felülettel
# Domain: plex.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~512M (mem_limit: 2048M) | Pi-compatible: No
#
@@ -34,7 +34,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.plex.rule=Host(`plex.${DOMAIN}`)"
- "traefik.http.routers.plex.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.plex.entrypoints=websecure"
- "traefik.http.routers.plex.tls=true"
- "traefik.http.routers.plex.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "paste"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: "Titkosított szöveg megosztás - a szerver nem látja a tartalmat"
+2 -2
View File
@@ -1,5 +1,5 @@
# PrivateBin - Titkosított jegyzet és szöveg megosztás
# Domain: paste.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~30M (mem_limit: 128M) | Pi-compatible: Yes
#
@@ -30,7 +30,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.privatebin.rule=Host(`paste.${DOMAIN}`)"
- "traefik.http.routers.privatebin.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.privatebin.entrypoints=websecure"
- "traefik.http.routers.privatebin.tls=true"
- "traefik.http.routers.privatebin.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "radarr"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: HDD_PATH
label: "Médiatár útvonal"
type: path
+2 -2
View File
@@ -1,5 +1,5 @@
# Radarr - Automatikus film letöltő és rendszerező
# Domain: radarr.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~150M (mem_limit: 512M) | Pi-compatible: Yes
#
@@ -34,7 +34,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.radarr.rule=Host(`radarr.${DOMAIN}`)"
- "traefik.http.routers.radarr.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.radarr.entrypoints=websecure"
- "traefik.http.routers.radarr.tls=true"
- "traefik.http.routers.radarr.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "poll"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: SECRET_PASSWORD
label: "Titkosítási kulcs"
type: secret
+3 -3
View File
@@ -1,5 +1,5 @@
# Rallly - Időpont szavazás (Doodle alternatíva)
# Domain: poll.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: postgres
# RAM: ~50M (mem_limit: 256M) | Pi-compatible: Yes
#
@@ -20,7 +20,7 @@ services:
- TZ=Europe/Budapest
- DATABASE_URL=postgresql://rallly:${DB_PASSWORD}@rallly-postgres:5432/rallly
- SECRET_PASSWORD=${SECRET_PASSWORD}
- NEXT_PUBLIC_BASE_URL=https://poll.${DOMAIN}
- NEXT_PUBLIC_BASE_URL=https://${SUBDOMAIN}.${DOMAIN}
networks:
- traefik-public
- rallly-internal
@@ -36,7 +36,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.rallly.rule=Host(`poll.${DOMAIN}`)"
- "traefik.http.routers.rallly.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.rallly.entrypoints=websecure"
- "traefik.http.routers.rallly.tls=true"
- "traefik.http.routers.rallly.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "arcade"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: DB_PASSWORD
label: "Adatbázis jelszó"
type: secret
+2 -2
View File
@@ -1,5 +1,5 @@
# ROMM - ROM Manager for Game Libraries
# Domain: arcade.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: MariaDB + Redis
# RAM: ~300MB (mem_limit: 1024M total — romm 512M + mariadb 384M + redis 128M) | Pi-compatible: No (MariaDB + heavy)
#
@@ -80,7 +80,7 @@ services:
start_period: 60s
labels:
- "traefik.enable=true"
- "traefik.http.routers.romm.rule=Host(`arcade.${DOMAIN}`)"
- "traefik.http.routers.romm.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.romm.entrypoints=websecure"
- "traefik.http.routers.romm.tls=true"
- "traefik.http.routers.romm.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "requests"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: "Film és sorozat igénylő a háztartás tagjai számára"
+2 -2
View File
@@ -1,5 +1,5 @@
# Jellyseerr - Média igénylés kezelő Jellyfin/Plex integrációval
# Domain: requests.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~100M (mem_limit: 384M) | Pi-compatible: Yes
#
@@ -29,7 +29,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.seerr.rule=Host(`requests.${DOMAIN}`)"
- "traefik.http.routers.seerr.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.seerr.entrypoints=websecure"
- "traefik.http.routers.seerr.tls=true"
- "traefik.http.routers.seerr.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "sonarr"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: HDD_PATH
label: "Médiatár útvonal"
type: path
+2 -2
View File
@@ -1,5 +1,5 @@
# Sonarr - Automatikus sorozat letöltő és rendszerező
# Domain: sonarr.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~150M (mem_limit: 512M) | Pi-compatible: Yes
#
@@ -34,7 +34,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.sonarr.rule=Host(`sonarr.${DOMAIN}`)"
- "traefik.http.routers.sonarr.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.sonarr.entrypoints=websecure"
- "traefik.http.routers.sonarr.tls=true"
- "traefik.http.routers.sonarr.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "recipes"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: SECRET_KEY
label: "Titkosítási kulcs"
type: secret
+2 -2
View File
@@ -1,5 +1,5 @@
# Tandoor Recipes - Receptkezelő és étkezés tervező
# Domain: recipes.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: postgres
# RAM: ~150M (mem_limit: 512M) | Pi-compatible: Yes
#
@@ -43,7 +43,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.tandoor.rule=Host(`recipes.${DOMAIN}`)"
- "traefik.http.routers.tandoor.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.tandoor.entrypoints=websecure"
- "traefik.http.routers.tandoor.tls=true"
- "traefik.http.routers.tandoor.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "terminal"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: "Webes SSH terminál - szerver hozzáférés a böngészőből"
+2 -2
View File
@@ -1,5 +1,5 @@
# Termix - Webes SSH és szerver menedzser
# Domain: terminal.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~30M (mem_limit: 128M) | Pi-compatible: Yes
#
@@ -30,7 +30,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.termix.rule=Host(`terminal.${DOMAIN}`)"
- "traefik.http.routers.termix.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.termix.entrypoints=websecure"
- "traefik.http.routers.termix.tls=true"
- "traefik.http.routers.termix.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "status"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: "Szolgáltatás monitoring - értesítés ha valami nem működik"
+2 -2
View File
@@ -1,5 +1,5 @@
# Uptime Kuma - Szolgáltatás és weboldal monitoring
# Domain: status.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~50M (mem_limit: 256M) | Pi-compatible: Yes
#
@@ -29,7 +29,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.uptime-kuma.rule=Host(`status.${DOMAIN}`)"
- "traefik.http.routers.uptime-kuma.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.uptime-kuma.entrypoints=websecure"
- "traefik.http.routers.uptime-kuma.tls=true"
- "traefik.http.routers.uptime-kuma.tls.certresolver=letsencrypt"
+8
View File
@@ -29,6 +29,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "vault"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: ADMIN_TOKEN
label: "Admin panel token"
type: secret
+6 -6
View File
@@ -1,5 +1,5 @@
# Vaultwarden - Password Manager (Bitwarden-compatible)
# Domain: vault.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (SQLite, built-in)
# RAM: ~50MB (mem_limit: 256M) | Pi-compatible: Yes
#
@@ -9,13 +9,13 @@
# SIGNUPS_ALLOWED - Set to "false" after creating your account(s)
#
# First-time setup:
# 1. Visit https://vault.${DOMAIN} and create an account
# 1. Visit https://${SUBDOMAIN}.${DOMAIN} and create an account
# 2. Set SIGNUPS_ALLOWED=false via the controller
# 3. Admin panel at https://vault.${DOMAIN}/admin (if ADMIN_TOKEN set)
# 3. Admin panel at https://${SUBDOMAIN}.${DOMAIN}/admin (if ADMIN_TOKEN set)
#
# Clients:
# Use any Bitwarden client (desktop, mobile, browser extension)
# Set server URL to: https://vault.${DOMAIN}
# Set server URL to: https://${SUBDOMAIN}.${DOMAIN}
services:
vaultwarden:
@@ -23,7 +23,7 @@ services:
container_name: vaultwarden
restart: unless-stopped
environment:
- DOMAIN=https://vault.${DOMAIN}
- DOMAIN=https://${SUBDOMAIN}.${DOMAIN}
- SIGNUPS_ALLOWED=${SIGNUPS_ALLOWED:-true}
- ADMIN_TOKEN=${ADMIN_TOKEN:-}
- WEBSOCKET_ENABLED=true
@@ -44,7 +44,7 @@ services:
start_period: 10s
labels:
- "traefik.enable=true"
- "traefik.http.routers.vaultwarden.rule=Host(`vault.${DOMAIN}`)"
- "traefik.http.routers.vaultwarden.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.vaultwarden.entrypoints=websecure"
- "traefik.http.routers.vaultwarden.tls=true"
- "traefik.http.routers.vaultwarden.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "tasks"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: VIKUNJA_SERVICE_JWTSECRET
label: "JWT titkosítási kulcs"
type: secret
+3 -3
View File
@@ -1,5 +1,5 @@
# Vikunja - Feladatkezelő listák és táblák (Todoist/Trello alternatíva)
# Domain: tasks.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~50M (mem_limit: 256M) | Pi-compatible: Yes
#
@@ -14,7 +14,7 @@ services:
restart: unless-stopped
environment:
- TZ=Europe/Budapest
- VIKUNJA_SERVICE_PUBLICURL=https://tasks.${DOMAIN}
- VIKUNJA_SERVICE_PUBLICURL=https://${SUBDOMAIN}.${DOMAIN}
- VIKUNJA_SERVICE_JWTSECRET=${VIKUNJA_SERVICE_JWTSECRET}
volumes:
- vikunja_data:/app/vikunja/files
@@ -33,7 +33,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.vikunja.rule=Host(`tasks.${DOMAIN}`)"
- "traefik.http.routers.vikunja.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.vikunja.entrypoints=websecure"
- "traefik.http.routers.vikunja.tls=true"
- "traefik.http.routers.vikunja.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "hike"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: MEILI_MASTER_KEY
label: "Keresőmotor kulcs"
type: secret
+3 -3
View File
@@ -1,5 +1,5 @@
# Wanderer - Túra tervező és nyomkövetéssel
# Domain: hike.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~100M (mem_limit: 384M) | Pi-compatible: Yes
#
@@ -19,7 +19,7 @@ services:
- TZ=Europe/Budapest
- MEILI_URL=http://wanderer-search:7700
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
- ORIGIN=https://hike.${DOMAIN}
- ORIGIN=https://${SUBDOMAIN}.${DOMAIN}
volumes:
- wanderer_data:/app/pb_data
networks:
@@ -37,7 +37,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.wanderer.rule=Host(`hike.${DOMAIN}`)"
- "traefik.http.routers.wanderer.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.wanderer.entrypoints=websecure"
- "traefik.http.routers.wanderer.tls=true"
- "traefik.http.routers.wanderer.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "fitness"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: SECRET_KEY
label: "Titkosítási kulcs"
type: secret
+3 -3
View File
@@ -1,5 +1,5 @@
# wger - Edzésnapló és fitnesz tervező
# Domain: fitness.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~100M (mem_limit: 384M) | Pi-compatible: Yes
#
@@ -16,7 +16,7 @@ services:
- TZ=Europe/Budapest
- SECRET_KEY=${SECRET_KEY}
- DJANGO_DB_ENGINE=django.db.backends.sqlite3
- SITE_URL=https://fitness.${DOMAIN}
- SITE_URL=https://${SUBDOMAIN}.${DOMAIN}
volumes:
- wger_data:/home/wger/db
- wger_media:/home/wger/media
@@ -34,7 +34,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.wger.rule=Host(`fitness.${DOMAIN}`)"
- "traefik.http.routers.wger.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.wger.entrypoints=websecure"
- "traefik.http.routers.wger.tls=true"
- "traefik.http.routers.wger.tls.certresolver=letsencrypt"
+8
View File
@@ -24,6 +24,14 @@ deploy_fields:
description: "A szerver domain neve"
locked_after_deploy: true
- env_var: SUBDOMAIN
label: "Aldomain"
type: subdomain
default: "wishes"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
# --- App info (info page content) ---
app_info:
tagline: "Családi kívánságlista - karácsonyra, születésnapokra"
+2 -2
View File
@@ -1,5 +1,5 @@
# Wishlist - Családi kívánságlista megosztás
# Domain: wishes.${DOMAIN}
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~30M (mem_limit: 128M) | Pi-compatible: Yes
#
@@ -29,7 +29,7 @@ services:
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.wishlist.rule=Host(`wishes.${DOMAIN}`)"
- "traefik.http.routers.wishlist.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.wishlist.entrypoints=websecure"
- "traefik.http.routers.wishlist.tls=true"
- "traefik.http.routers.wishlist.tls.certresolver=letsencrypt"

Some files were not shown because too many files have changed in this diff Show More