diff --git a/configs/backup/backup_engine b/configs/backup/backup_engine index 14cbb5a..78b26e8 100644 --- a/configs/backup/backup_engine +++ b/configs/backup/backup_engine @@ -3,9 +3,9 @@ # @icon ⚙️ # ================================================================================ CFG_BACKUP_ENGINE=restic # Default Backup Engine - Fallback engine for new locations (each location can override) [restic:Restic|borg:BorgBackup|kopia:Kopia] -CFG_BACKUP_DEFAULT_PATH= # Default Backup Location - Base directory for locations set to Automatic path mode; each location lives in its own numbered subfolder (/). Empty = the LibrePortal backups root (own mount-able). +CFG_BACKUP_DEFAULT_PATH= # Default Backup Location - Base directory for locations using Automatic path mode. Empty = the LibrePortal backups root. CFG_BACKUP_STRATEGY=auto # Backup Strategy - How containers are quiesced before snapshotting [auto:Automatic — live where safe, stop otherwise (recommended)|stop-snapshot-start:Stop → snapshot → start (always safe)|pause-snapshot-unpause:Pause → snapshot → unpause (less downtime)|live:Live — snapshot while running (force)] CFG_BACKUP_VERIFY_AFTER=true # Verify After Backup - Run integrity check after each backup CFG_BACKUP_VERIFY_DATA_PERCENT=5 # Verify Data Sample % - Percentage of repo data to checksum-verify weekly CFG_BACKUP_PARALLEL_REPOS=true # Parallel Repos - Push to all enabled locations in parallel -CFG_BACKUP_SSH_MULTIPLEX=true # SSH Connection Reuse - Share one SSH connection across the restic calls to each SFTP location (faster on high-latency links). Disable if your SSH server rejects multiplexing. +CFG_BACKUP_SSH_MULTIPLEX=true # SSH Connection Reuse - Share one SSH connection across the restic calls to each SFTP location diff --git a/configs/backup/backup_general b/configs/backup/backup_general index 375b11e..b6debb6 100755 --- a/configs/backup/backup_general +++ b/configs/backup/backup_general @@ -3,4 +3,4 @@ # @icon 💾 # ================================================================================ CFG_BACKUP_CRONTAB_APP="0 5 * * *" # App Backup Schedule - Crontab schedule for application backups -CFG_BACKUP_DASHBOARD_REFRESH_INTERVAL=30 # Dashboard Refresh Interval - Minutes between routine restic pulls that refresh the Backups dashboard (a completed backup always refreshes immediately). 0 refreshes on every WebUI update. +CFG_BACKUP_DASHBOARD_REFRESH_INTERVAL=30 # Dashboard Refresh Interval - Minutes between routine restic pulls that refresh the Backups dashboard diff --git a/configs/backup/locations/1/location.config b/configs/backup/locations/1/location.config index d14b9c2..1ddc80c 100644 --- a/configs/backup/locations/1/location.config +++ b/configs/backup/locations/1/location.config @@ -5,7 +5,7 @@ CFG_BACKUP_LOC_1_ENABLED=true # Enabled - Snap CFG_BACKUP_LOC_1_ENGINE=restic # Engine - Backup engine used at this location [restic:Restic|borg:BorgBackup|kopia:Kopia] **ADVANCED** CFG_BACKUP_LOC_1_PASSWORD=RANDOMIZEDPASSWORD1 # Repository Password - Used to encrypt/decrypt snapshots — back up offline! CFG_BACKUP_LOC_1_TYPE=local # Type - Backend [local:Local / mounted path|sftp:SFTP|rest:REST|s3:S3|b2:Backblaze B2|gs:Google Cloud Storage|azure:Azure|rclone:rclone] -CFG_BACKUP_LOC_1_PATH_MODE=auto # Path Mode - Automatic uses the Default Backup Location from the Backup Engine config (one subfolder per location); Custom uses the path below [auto:Automatic|custom:Custom path] +CFG_BACKUP_LOC_1_PATH_MODE=auto # Path Mode - Automatic uses the Default Backup Location; Custom uses the path below [auto:Automatic|custom:Custom path] CFG_BACKUP_LOC_1_PATH= # Custom Path - Filesystem path on this server (used when Path Mode = Custom) CFG_BACKUP_LOC_1_URI= # URI Override - Custom restic URI (leave blank to build from the fields below) **ADVANCED** CFG_BACKUP_LOC_1_SSH_USER= # SSH User - For sftp type diff --git a/configs/general/general_basic b/configs/general/general_basic index 47c8458..57ce1c6 100755 --- a/configs/general/general_basic +++ b/configs/general/general_basic @@ -3,5 +3,5 @@ # @icon 🏷️ # ================================================================================ CFG_INSTALL_NAME=Change-Me # Installation Name - The name for your LibrePortal instance -CFG_TIMEZONE=Etc/UTC # Container Timezone - Timezone handed to app containers (their TZ). Scheduled tasks — backups, update checks — follow the HOST's own clock, set with timedatectl, not this value. -CFG_INSTALL_LEVEL=beginner # Experience Level - Beginner hides technical detail and skips advanced setup steps. Advanced reveals everything by default. Set during the first-run wizard; can be flipped any time via the Advanced toggle in the WebUI. [beginner:Beginner — simple|advanced:Advanced — show everything] +CFG_TIMEZONE=Etc/UTC # Container Timezone - Timezone handed to app containers; scheduled tasks follow the host clock +CFG_INSTALL_LEVEL=beginner # Experience Level - How much technical detail the WebUI shows [beginner:Beginner — simple|advanced:Advanced — show everything] diff --git a/configs/general/general_catalogs b/configs/general/general_catalogs index 2d548b9..a1ed9c1 100644 --- a/configs/general/general_catalogs +++ b/configs/general/general_catalogs @@ -7,7 +7,7 @@ # in priority order 1..9. The official catalog (from the Release Host) is always # source #1 and is NOT listed here. Third-party catalogs are UNVERIFIED — you are # trusting that host. Edit these from the App Center's Catalog Sources block. -CFG_CATALOG_OFFICIAL_ENABLED=true # Official Catalog - Include the official LibrePortal catalog (source #1) in the App Center. Disabling only hides its apps from browsing; system updates/hotfixes still use the official release host. [true:On|false:Off] **ADVANCED** +CFG_CATALOG_OFFICIAL_ENABLED=true # Official Catalog - Include the official LibrePortal catalog (source #1) in the App Center [true:On|false:Off] **ADVANCED** CFG_CATALOG_1= # Catalog 1 - Extra catalog base URL, e.g. https://catalog.example.org CFG_CATALOG_2= # Catalog 2 - Extra catalog base URL CFG_CATALOG_3= # Catalog 3 - Extra catalog base URL diff --git a/configs/general/general_core b/configs/general/general_core index a0f0543..1699d4e 100644 --- a/configs/general/general_core +++ b/configs/general/general_core @@ -6,7 +6,7 @@ CFG_REQUIREMENT_CONFIG=true # Configuration Managem CFG_REQUIREMENT_COMMAND=true # Command Line Tool - Install the libreportal command line tool. Disabling this on an existing install will brick the system. **ADVANCED** **DEV** CFG_REQUIREMENT_WEBUI=true # Web Interface - Install the LibrePortal WebUI. Disabling this on an existing install will brick the system. **ADVANCED** **DEV** CFG_REQUIREMENT_WEBUI_SERVICE=true # Web Task Service - Install the task-processor systemd service that backs the WebUI. Disabling this on an existing install will brick the system. **ADVANCED** **DEV** -CFG_REQUIREMENT_DATABASE=true # Database Support - Install and configure database support for application data storage. Install-time choice only — flipping post-install will not retrofit. **ADVANCED** **DEV** +CFG_REQUIREMENT_DATABASE=true # Database Support - Install database support for application data. Install-time choice only. **ADVANCED** **DEV** CFG_REQUIREMENT_PASSWORDS=true # Password Management - Enable password generation and management features. Install-time choice only. **ADVANCED** **DEV** -CFG_REQUIREMENT_DOCKER_CE=true # Docker CE - Install Docker Community Edition instead of the distro default. Install-time choice only — flipping post-install does not swap Docker. **ADVANCED** **DEV** +CFG_REQUIREMENT_DOCKER_CE=true # Docker CE - Install Docker Community Edition instead of the distro default. Install-time choice only. **ADVANCED** **DEV** CFG_REQUIREMENT_DOCKER_COMPOSE=true # Docker Compose - Install Docker Compose for multi-container application management. Install-time choice only. **ADVANCED** **DEV** diff --git a/configs/general/general_docker_install b/configs/general/general_docker_install index a6fc644..f156470 100755 --- a/configs/general/general_docker_install +++ b/configs/general/general_docker_install @@ -2,7 +2,7 @@ # Docker - Container runtime installation and configuration **ADVANCED** # @icon 🐳 # ================================================================================ -CFG_DOCKER_INSTALL_TYPE=rootless # Docker Installation Type - rootless (default, recommended): containers run unprivileged so a breakout isn't host root; rooted: legacy, containers run as root [rootless|rooted] +CFG_DOCKER_INSTALL_TYPE=rootless # Docker Installation Type - Rootless runs containers unprivileged (recommended); rooted runs them as root [rootless|rooted] CFG_DOCKER_INSTALL_USER=dockerinstall # Docker Install User - Username for Docker installation operations CFG_DOCKER_INSTALL_PASS=RANDOMIZEDPASSWORD2 # Docker Install Password - Password for Docker install user diff --git a/configs/general/general_install b/configs/general/general_install index b297557..a350202 100755 --- a/configs/general/general_install +++ b/configs/general/general_install @@ -2,10 +2,10 @@ # Installation Setup - Local or Git Repository configuration and version control # @icon 📦 # ================================================================================ -CFG_INSTALL_MODE=release # Installation Mode - How LibrePortal is fetched + updated. Hidden by default — only shown when Developer Mode is on (click the LibrePortal logo 10 times) or when the install is already on git/local (auto-enables Developer Mode). **DEV** [release:Release - Stable|git:Git clone|local:Local folder] +CFG_INSTALL_MODE=release # Installation Mode - How LibrePortal is fetched and updated **DEV** [release:Release - Stable|git:Git clone|local:Local folder] CFG_RELEASE_BASE_URL=https://get.libreportal.org # Release Host - Base URL serving the release channels (override for self-hosting) **ADVANCED** -CFG_RELEASE_CHANNEL=stable # Release Channel - Pick the release channel for the tarball installer. Stable is the recommended default; Edge ships from main and may contain in-flight changes. **DEV** [stable:Release - Stable|edge:Release - Bleeding Edge] -CFG_DEV_MODE=false # Developer Mode - Reveal advanced developer / dev-install options across the WebUI. Auto-enables when the install is already on git/local. Easter egg: click the LibrePortal logo 10 times to toggle. **ADVANCED** [true:On|false:Off] +CFG_RELEASE_CHANNEL=stable # Release Channel - Release channel for the tarball installer **DEV** [stable:Release - Stable|edge:Release - Bleeding Edge] +CFG_DEV_MODE=false # Developer Mode - Reveal developer / dev-install options across the WebUI **ADVANCED** [true:On|false:Off] CFG_GIT_URL=changeme # Git Repository URL - Git repository URL for LibrePortal configuration CFG_GIT_USER=changeme # Git Username - Git username for repository authentication CFG_GIT_KEY=changeme # Git Access Key - SSH key or API key for Git repository access diff --git a/configs/general/general_notifications b/configs/general/general_notifications index 20a8df0..edb9ec2 100644 --- a/configs/general/general_notifications +++ b/configs/general/general_notifications @@ -2,8 +2,8 @@ # Notifications - Alerts when background work fails (updates, backups, installs) # @icon 🔔 # ================================================================================ -CFG_NOTIFY_EVENTS=failures # What to send - Failures only is the quiet default: you hear about a failed update/backup/install and nothing else. All also announces successful task results. [failures:Failures only|all:All task results|off:Off] -CFG_NOTIFY_EMAIL=false # 📧 Email - Send alerts by email. Uses the Mail settings above (CFG_MAIL_*) for the server and sender; enable those first. +CFG_NOTIFY_EVENTS=failures # What to send - Which task results send a notification [failures:Failures only|all:All task results|off:Off] +CFG_NOTIFY_EMAIL=false # 📧 Email - Send alerts by email (uses the Mail settings above) CFG_NOTIFY_EMAIL_TO= # Email To - Recipient address for alert emails CFG_NOTIFY_NTFY=false # 🔔 Ntfy - Send alerts to an ntfy topic (self-hosted or ntfy.sh) CFG_NOTIFY_NTFY_URL=https://ntfy.sh # Ntfy Server URL - Base URL of the ntfy server diff --git a/configs/general/general_terminal b/configs/general/general_terminal index 4b522f4..04df775 100755 --- a/configs/general/general_terminal +++ b/configs/general/general_terminal @@ -14,6 +14,6 @@ CFG_REQUIREMENT_CONFIGS_AUTO_UPDATE=true # Auto Config Updates - CFG_REQUIREMENT_CONFIGS_AUTO_DELETE=true # Auto Config Deletes - Remove config options no longer present in the template CFG_REQUIREMENT_MISSING_IPS=false # IP Configuration Check - Check for and alert about missing IP configurations CFG_REQUIREMENT_CONTINUE_PROMPT=false # Continue Prompts - Show continue prompts during installation for user confirmation -CFG_REQUIREMENT_CONTINUE_ON_ERROR=true # Continue On Error - Log failures to error_report.log and continue instead of aborting (on by default to surface issues; turn off for strict abort once clean) +CFG_REQUIREMENT_CONTINUE_ON_ERROR=true # Continue On Error - Log failures to error_report.log and continue instead of aborting CFG_REQUIREMENT_SUGGEST_INSTALLS=false # Install Suggestions - Enable application suggestions and recommendations during installation CFG_REQUIREMENT_SUGGEST_METRICS=true # Metrics Suggestions - Offer Prometheus and Grafana during first install (requires Install Suggestions enabled) diff --git a/configs/network/network_dns b/configs/network/network_dns index 2f2e4ad..deed38b 100755 --- a/configs/network/network_dns +++ b/configs/network/network_dns @@ -6,4 +6,4 @@ CFG_DNS_SERVER_1=9.9.9.9 # Primary DNS - Primary DNS server for network resolution CFG_DNS_SERVER_2=9.9.9.11 # Secondary DNS - Secondary DNS server for network resolution -CFG_REQUIREMENT_DNS_UPDATER=false # DNS Updater - Use AdGuard or Pi-hole as this server's DNS resolver when installed (rewrites /etc/resolv.conf). Off by default. +CFG_REQUIREMENT_DNS_UPDATER=false # DNS Updater - Use AdGuard or Pi-hole as this server's DNS resolver (rewrites /etc/resolv.conf) diff --git a/configs/network/network_docker b/configs/network/network_docker index 6c88dee..ae5c710 100755 --- a/configs/network/network_docker +++ b/configs/network/network_docker @@ -5,7 +5,7 @@ CFG_NETWORK_NAME=vpn # Network Name - Docker network name for container communication CFG_NETWORK_SUBNET=10.100.0.0/16 # Network Subnet - Subnet range for Docker network -CFG_NETWORK_MTU=auto # Network MTU - Maximum transmission unit for network packets. 'auto' probes the real path MTU and clamps to a safe value (fixes large image pulls stalling with EOF on Qubes/NAT/VPN links where the path MTU is below 1500); or set an explicit number like 1500 or 1280. **ADVANCED** +CFG_NETWORK_MTU=auto # Network MTU - Maximum transmission unit for network packets; 'auto' probes the path MTU **ADVANCED** CFG_REQUIREMENT_DOCKER_NETWORK=true # Docker Network - Create and manage the Docker network for container communication CFG_REQUIREMENT_DOCKER_NETWORK_PRUNE=true # Network Cleanup - Automatically prune unused Docker networks CFG_REQUIREMENT_DOCKER_SWITCHER=true # Docker Switcher - Install the Docker version switching utility diff --git a/configs/network/network_rootless b/configs/network/network_rootless index e0033f7..3ad9911 100644 --- a/configs/network/network_rootless +++ b/configs/network/network_rootless @@ -3,4 +3,4 @@ # @icon 🔀 # ================================================================================ -CFG_ROOTLESS_NET=pasta # Rootless Network Driver - Network stack for rootless Docker. pasta (default): actively maintained, preserves the real client source IP on inbound connections, lower idle CPU; slirp4netns: legacy fallback, maintenance-only upstream. The matching rootlesskit port driver is selected automatically. On Debian, the installer also applies the local AppArmor override pasta needs (see scripts/docker/install/rootless/rootless_apparmor.sh) so this is a single-toggle switch. **ADVANCED** [pasta:Pasta (default, actively maintained)|slirp4netns:slirp4netns (legacy fallback)] +CFG_ROOTLESS_NET=pasta # Rootless Network Driver - Network stack for rootless Docker; the port driver follows automatically **ADVANCED** [pasta:Pasta (default, actively maintained)|slirp4netns:slirp4netns (legacy fallback)] diff --git a/configs/webui/webui_logs b/configs/webui/webui_logs index be53788..5db2360 100644 --- a/configs/webui/webui_logs +++ b/configs/webui/webui_logs @@ -2,6 +2,6 @@ # WebUI Logs - Log-streaming behaviour for the Services tab **ADVANCED** # @icon 📜 # ================================================================================ -CFG_WEBUI_LOG_STREAM_IDLE_TIMEOUT_MINUTES=10 # Idle Timeout - Disconnect a log stream after this much silence. The viewer overlays a Resume button so the user can re-open the stream. 0 disables. +CFG_WEBUI_LOG_STREAM_IDLE_TIMEOUT_MINUTES=10 # Idle Timeout - Disconnect a log stream after this much silence. 0 disables. CFG_WEBUI_LOG_STREAM_MAX_DURATION_MINUTES=60 # Max Duration - Hard cap on a single stream. Resume button appears at the cap. 0 disables (not recommended). CFG_WEBUI_LOG_STREAM_MAX_LINES_PER_SEC=200 # Max Lines per Second - Burst ceiling. Excess lines drop with a per-second notice. diff --git a/configs/webui/webui_updater b/configs/webui/webui_updater index f968b98..3a7391c 100644 --- a/configs/webui/webui_updater +++ b/configs/webui/webui_updater @@ -3,9 +3,9 @@ # @icon 🔄 # ================================================================================ CFG_UPDATER_SCAN_INTERVAL=30 # App Scan Interval - Minutes between automatic app update/CVE/improvement scans. 0 disables. -CFG_UPDATER_REGISTRY_INTERVAL=360 # Registry Check Interval - Minutes between registry lookups for new image builds (the expensive step; the local scan still refreshes every scan). 0 = only when you press Check now. +CFG_UPDATER_REGISTRY_INTERVAL=360 # Registry Check Interval - Minutes between registry lookups for new image builds. 0 = only on Check now. CFG_HOTFIX_AUTO=security-breakage # Hotfix Auto-Apply - Which signed hotfix severities apply automatically on the update check [security-breakage|all|off] -CFG_UPDATER_AUTO=true # Automatic App Updates - Master switch for per-app automatic updates. Each app's own Update Type decides individually; turning this off makes every app manual. Every update snapshots the app first and rolls back on failure. [true:On|false:Off] -CFG_UPDATER_STALE_DAYS=365 # Unmaintained Warning After - Days without an upstream rebuild before an app is flagged as possibly unmaintained. "Up to date" only means the version you track has not moved — if nobody has rebuilt that image in a year, it has had no security patches either, and nothing else would tell you. 0 disables the warning. -CFG_UPDATER_UPGRADE_PRUNE=true # Clean Up After Version Upgrades - After a successful stepped upgrade (e.g. Nextcloud 31→34), delete the images it stepped through. Each one can be well over a gigabyte and nothing else removes them, since every step is a real tag rather than a dangling image. The version immediately before the current one is always kept so a roll-back needs no download. [true:On|false:Off] -CFG_UPDATER_WINDOW=06:00-08:00 # Automatic Update Window - When automatic updates are allowed to install, in the host's local time (HH:MM-HH:MM; crosses midnight when start > end; 'always' = any time). Checks still run all day so the Updates page stays current — found updates simply wait for the window. Pressing Update yourself always works. +CFG_UPDATER_AUTO=true # Automatic App Updates - Master switch for per-app automatic updates; off makes every app manual [true:On|false:Off] +CFG_UPDATER_STALE_DAYS=365 # Unmaintained Warning After - Days without an upstream rebuild before an app is flagged as possibly unmaintained. 0 disables. +CFG_UPDATER_UPGRADE_PRUNE=true # Clean Up After Version Upgrades - After a stepped upgrade, delete the intermediate images it stepped through [true:On|false:Off] +CFG_UPDATER_WINDOW=06:00-08:00 # Automatic Update Window - When automatic updates may install, in host local time (HH:MM-HH:MM, or 'always')