feat(config + admin panel): handle features activated
- review admin dashboard to reflect features enabled/disabled - hide mount option if feature is disabled - remove QUOTA option as it is not wired
This commit is contained in:
+45
-17
@@ -387,9 +387,6 @@ DATABASE_URL=postgres://postgres:postgres@localhost:5432/oxicloud
|
||||
# Enable/disable authentication system (default: true)
|
||||
#OXICLOUD_ENABLE_AUTH=true
|
||||
|
||||
# Enable per-user storage quotas (default: false)
|
||||
#OXICLOUD_ENABLE_USER_STORAGE_QUOTAS=false
|
||||
|
||||
# Enable file/folder sharing (default: true)
|
||||
#OXICLOUD_ENABLE_FILE_SHARING=true
|
||||
|
||||
@@ -464,6 +461,37 @@ DATABASE_URL=postgres://postgres:postgres@localhost:5432/oxicloud
|
||||
# Set to false to prevent users from browsing the user directory.
|
||||
#OXICLOUD_EXPOSE_SYSTEM_USERS=true
|
||||
|
||||
# External file mounts — surface host-filesystem paths (or a future
|
||||
# S3/WebDAV/SFTP backend) as folders inside a user's drive. Admins
|
||||
# configure mount rows via /api/admin/external-mounts (the "External
|
||||
# Mounts" tab in the admin panel); each row picks a target drive, a
|
||||
# name for the mount root, a provider kind, and a provider-specific
|
||||
# config (e.g. host path for local).
|
||||
#
|
||||
# When `false` (default):
|
||||
# - Admin CRUD routes (/api/admin/external-mounts) are NOT
|
||||
# registered — Axum returns 404. The admin panel's "External
|
||||
# Mounts" tab is hidden from the sidebar too (FE gates on
|
||||
# `serverConfig.features.external_mounts` — same discovery path
|
||||
# as `message_bus`).
|
||||
# - At boot, `MountRegistry` stays empty even if mount rows exist
|
||||
# in the DB — the runtime resolver has nothing to route to.
|
||||
# Users navigating into a mount-root folder see an empty native
|
||||
# folder (row exists, no children).
|
||||
#
|
||||
# When `true`:
|
||||
# - Admin panel exposes the CRUD; existing DB rows load at boot
|
||||
# via `MountRegistry::reload`; users can browse mount contents.
|
||||
#
|
||||
# Opt-in per deployment because external mounts expose host
|
||||
# filesystems (or credentialed remote backends) inside user drives —
|
||||
# an admin misconfiguration can leak state that isn't part of
|
||||
# OxiCloud's normal storage substrate. Keep off unless you have a
|
||||
# concrete need.
|
||||
#
|
||||
# Default: false.
|
||||
#OXICLOUD_ENABLE_EXTERNAL_MOUNTS=false
|
||||
|
||||
# ── People (face recognition) ────────────────────────────────────────────
|
||||
# Biometric data (GDPR Art. 9) — OFF by default, opt-in per deployment.
|
||||
# Detects faces and clusters them into people in the photo library.
|
||||
@@ -1100,20 +1128,6 @@ OXICLOUD_WOPI_ENABLED=false
|
||||
# collaborative editor. See docs/plan/message-bus.md for the JSON-RPC 2.0
|
||||
# wire protocol.
|
||||
|
||||
# Server-initiated protocol Ping interval (seconds). Prevents intermediate
|
||||
# proxies (Traefik, nginx, Cloudflare) and NAT boxes from reaping the TCP
|
||||
# session as idle. Read at each WS connect — a change takes effect on new
|
||||
# connections without restart. Set 0 (or any non-positive value) to fall
|
||||
# back to the default.
|
||||
#
|
||||
# Tuning: the interval should sit at most half the smallest hop's idle
|
||||
# timeout, so a single missed Ping doesn't kill the connection. Common
|
||||
# floors:
|
||||
# * nginx `proxy_read_timeout` default 60s → ping ≤ 30s
|
||||
# * Cloudflare hard limit 100s → ping ≤ 45s
|
||||
# * Traefik with idleTimeout bumped to 3600s → 30s is safely under
|
||||
#OXICLOUD_MESSAGEBUS_KEEPALIVE_SECONDS=30
|
||||
|
||||
# Message bus master switch. When `false`, /api/rt/ws and
|
||||
# POST /api/rt/ticket are NOT registered at boot — Axum returns 404
|
||||
# for both, keeping monitoring dashboards free of 5xx noise. Clients
|
||||
@@ -1135,6 +1149,20 @@ OXICLOUD_WOPI_ENABLED=false
|
||||
# Default: true.
|
||||
#OXICLOUD_MESSAGEBUS_ENABLE=true
|
||||
|
||||
# Server-initiated protocol Ping interval (seconds). Prevents intermediate
|
||||
# proxies (Traefik, nginx, Cloudflare) and NAT boxes from reaping the TCP
|
||||
# session as idle. Read at each WS connect — a change takes effect on new
|
||||
# connections without restart. Set 0 (or any non-positive value) to fall
|
||||
# back to the default.
|
||||
#
|
||||
# Tuning: the interval should sit at most half the smallest hop's idle
|
||||
# timeout, so a single missed Ping doesn't kill the connection. Common
|
||||
# floors:
|
||||
# * nginx `proxy_read_timeout` default 60s → ping ≤ 30s
|
||||
# * Cloudflare hard limit 100s → ping ≤ 45s
|
||||
# * Traefik with idleTimeout bumped to 3600s → 30s is safely under
|
||||
#OXICLOUD_MESSAGEBUS_KEEPALIVE_SECONDS=30
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# MEMORY ALLOCATOR TUNING (IMPORTANT FOR RAM USAGE)
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user