komodo-lovelace.toml
Rama master · réplica de lectura del repositorio original.
[[resource_sync]]
name = "github-lovelace"
[resource_sync.config]
repo = "gjhenrique/home-server"
branch = "master"
resource_path = ["komodo-lovelace.toml"]
[[server]]
name = "lovelace"
tags = ["lovelace"]
[server.config]
enabled = true
address = "https://periphery:8120"
[[procedure]]
name = "Deploy stacks"
[[procedure.config.stage]]
name = "Sync private github repo"
enabled = true
executions = [
{ execution.type = "RunSync", execution.params.sync = "github-lovelace-private", enabled = true }
]
[[procedure.config.stage]]
name = "Sync github repo"
enabled = true
executions = [
{ execution.type = "RunSync", execution.params.sync = "github-lovelace", enabled = true }
]
[[procedure.config.stage]]
name = "Pull stacks"
enabled = true
executions = [
{ execution.type = "BatchPullStack", execution.params.pattern = "*", enabled = true }
]
[[procedure.config.stage]]
name = "Deploy stacks"
enabled = true
executions = [
# Explicit list keeps lovelace-openclaw disabled; add new Lovelace stacks here.
{ execution.type = "BatchDeployStackIfChanged", execution.params.pattern = "lovelace-syncthing,lovelace-mosquitto,lovelace-emby,lovelace-subnet-router,lovelace-caddy,lovelace-homepage,lovelace-samba,lovelace-photos,lovelace-paperless,lovelace-actual,lovelace-ghostfolio,lovelace-system-exporters,lovelace-health-exporters,lovelace-backup,lovelace-prometheus,lovelace-n8n,lovelace-grafana,lovelace-mere-medical,lovelace-donetick,lovelace-3dprint,lovelace-hermes,lovelace-mealie", enabled = true }
]
[[stack]]
name = "lovelace-syncthing"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/syncthing"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
"""
[[stack]]
name = "lovelace-mosquitto"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/mosquitto"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
"""
[[stack]]
name = "lovelace-emby"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/emby"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
DOMAIN: "[[CADDY_DOMAIN]]"
EMBY_HTTP_PORT: 8096
EMBY_HTTPS_PORT: 8097
EMBY_UDP_PORT_1: 7359
EMBY_UDP_PORT_2: 1900
"""
[[stack]]
name = "lovelace-subnet-router"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/subnet-router"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
TS_OAUTH_SECRET: "[[SUBNET_ROUTER_TS_OAUTH_SECRET]]"
TS_TAG: "[[SUBNET_ROUTER_TS_TAG]]"
TS_HOSTNAME: "[[SUBNET_ROUTER_TS_HOSTNAME]]"
TS_ROUTES: "[[SUBNET_ROUTER_TS_ROUTES]]"
"""
[[stack]]
name = "lovelace-caddy"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks"
branch = "master"
file_paths = ["caddy/compose.yaml"]
environment = """
EXT_PATH: /mnt/tank
GOOGLE_CLIENT_ID: "[[CADDY_GOOGLE_CLIENT_ID]]"
GOOGLE_CLIENT_SECRET: "[[CADDY_GOOGLE_CLIENT_SECRET]]"
JWT_SHARED_KEY: "[[CADDY_JWT_SHARED_KEY]]"
DOMAIN: "[[CADDY_DOMAIN]]"
ALLOWED_EMAILS: "[[CADDY_ALLOWED_EMAILS]]"
CLOUDFLARE_API_TOKEN: "[[CADDY_CLOUDFLARE_API_TOKEN]]"
"""
[[stack]]
name = "lovelace-homepage"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/homepage"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
DOMAIN: "[[CADDY_DOMAIN]]"
TZ: Europe/Berlin
"""
[[stack]]
name = "lovelace-samba"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/samba"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
PHOTOS_PASSWORD: "[[SAMBA_PHOTOS_PASSWORD]]"
TORRENT_PASSWORD: "[[SAMBA_TORRENT_PASSWORD]]"
PAPERLESS_PASSWORD: "[[SAMBA_PAPERLESS_PASSWORD]]"
TV_PASSWORD: "[[SAMBA_TV_PASSWORD]]"
"""
[[stack]]
name = "lovelace-photos"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks"
branch = "master"
file_paths = ["photos/compose.yaml", "photos/compose-ml.yaml"]
environment = """
EXT_PATH: /mnt/tank
DOMAIN: "[[CADDY_DOMAIN]]"
DB_PASSWORD: "[[IMMICH_DATABASE_PASSWORD]]"
"""
[[stack]]
name = "lovelace-paperless"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/paperless"
branch = "master"
file_paths = ["compose.yaml", "compose.ai.yaml"]
environment = """
EXT_PATH: /mnt/tank
DOMAIN: "[[CADDY_DOMAIN]]"
PAPERLESS_URL: "[[PAPERLESS_URL]]"
PAPERLESS_SECRET_KEY: "[[PAPERLESS_SECRET_KEY]]"
PAPERLESS_OPENROUTER_API_KEY: "[[PAPERLESS_OPENROUTER_API_KEY]]"
"""
[[stack]]
name = "lovelace-actual"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/actual"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
DOMAIN: "[[CADDY_DOMAIN]]"
"""
[[stack]]
name = "lovelace-ghostfolio"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/ghostfolio"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
DOMAIN: "[[CADDY_DOMAIN]]"
GHOSTFOLIO_POSTGRES_DB: ghostfolio-db
GHOSTFOLIO_POSTGRES_USER: ghostfolio
GHOSTFOLIO_POSTGRES_PASSWORD: "[[GHOSTFOLIO_POSTGRES_PASSWORD]]"
GHOSTFOLIO_REDIS_PASSWORD: "[[GHOSTFOLIO_REDIS_PASSWORD]]"
GHOSTFOLIO_ACCESS_TOKEN_SALT: "[[GHOSTFOLIO_ACCESS_TOKEN_SALT]]"
GHOSTFOLIO_JWT_SECRET_KEY: "[[GHOSTFOLIO_JWT_SECRET_KEY]]"
"""
[[stack]]
name = "lovelace-system-exporters"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/system-exporters"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
ADGUARD_USERNAME: "[[ADGUARD_USERNAME]]"
ADGUARD_PASSWORD: "[[ADGUARD_PASSWORD]]"
"""
[[stack]]
name = "lovelace-health-exporters"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/health-exporters"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
OW_CITY: "[[OW_CITY]]"
OW_APIKEY: "[[OW_APIKEY]]"
"""
[[stack]]
name = "lovelace-backup"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks"
branch = "master"
file_paths = ["backup/compose.yaml"]
environment = """
EXT_PATH: /mnt/tank
DOMAIN: "[[CADDY_DOMAIN]]"
"""
[[stack]]
name = "lovelace-prometheus"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks"
branch = "master"
file_paths = ["prometheus/compose.yaml"]
environment = """
EXT_PATH: /mnt/tank
PROMETHEUS_RETENTION: 750d
PROMETHEUS_CONFIG_FILE: custom/prometheus.yml
ALERTMANAGER_CONFIG_FILE: custom/alertmanager.yml
"""
[[stack]]
name = "lovelace-n8n"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/n8n"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
DOMAIN: "[[CADDY_DOMAIN]]"
N8N_ENCRYPTION_KEY: "[[N8N_ENCRYPTION_KEY]]"
POSTGRES_USER: "[[N8N_POSTGRES_USER]]"
POSTGRES_PASSWORD: "[[N8N_POSTGRES_PASSWORD]]"
POSTGRES_DB: "[[N8N_POSTGRES_DB]]"
POSTGRES_NON_ROOT_USER: "[[N8N_POSTGRES_NON_ROOT_USER]]"
POSTGRES_NON_ROOT_PASSWORD: "[[N8N_POSTGRES_NON_ROOT_PASSWORD]]"
TZ: Europe/Berlin
"""
[[stack]]
name = "lovelace-grafana"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/grafana"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
DOMAIN: "[[CADDY_DOMAIN]]"
GRAFANA_ADMIN_PASSWORD: "[[GRAFANA_ADMIN_PASSWORD]]"
TZ: Europe/Berlin
"""
[[stack]]
name = "lovelace-mere-medical"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/mere-medical"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
DOMAIN: "[[CADDY_DOMAIN]]"
PUBLIC_URL: "https://health.[[CADDY_DOMAIN]]"
"""
[[stack]]
name = "lovelace-donetick"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/donetick"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
DOMAIN: "[[CADDY_DOMAIN]]"
DONETICK_JWT_SECRET: "[[DONETICK_JWT_SECRET]]"
TZ: Europe/Berlin
"""
[[stack]]
name = "lovelace-3dprint"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/3dprint"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
DOMAIN: "[[CADDY_DOMAIN]]"
TZ: Europe/Berlin
PORT: "8002"
"""
[[stack]]
name = "lovelace-openclaw"
tags = ["lovelace"]
deploy = false
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/openclaw"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
DOMAIN: "[[CADDY_DOMAIN]]"
OPENCLAW_GATEWAY_TOKEN: "[[OPENCLAW_GATEWAY_TOKEN]]"
OPENROUTER_API_KEY: "[[OPENROUTER_API_KEY]]"
TZ: Europe/Berlin
"""
[[stack]]
name = "lovelace-hermes"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/hermes"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
DOMAIN: "[[CADDY_DOMAIN]]"
TZ: Europe/Berlin
"""
[[stack]]
name = "lovelace-mealie"
tags = ["lovelace"]
[stack.config]
server = "lovelace"
repo = "gjhenrique/home-server"
run_directory = "stacks/mealie"
branch = "master"
environment = """
EXT_PATH: /mnt/tank
DOMAIN: "[[CADDY_DOMAIN]]"
# OpenAI/OpenRouter configuration for recipe parsing and image analysis
MEALIE_OPENAI_KEY: "[[MEALIE_OPENAI_KEY]]"
MEALIE_OPENAI_BASE_URL: "[[MEALIE_OPENAI_BASE_URL]]"
MEALIE_OPENAI_MODEL: "[[MEALIE_OPENAI_MODEL]]"
MEALIE_OPENAI_ENABLE_IMAGE_SERVICES: "[[MEALIE_OPENAI_ENABLE_IMAGE_SERVICES]]"
TZ: Europe/Berlin
"""