Core Services
Core services coordinate scheduling, health, and system safety before and during file operations.
Service Coordination
Components
- Config Loader: validates startup configuration and service toggles. Launches an interactive setup wizard when no
config.ymlis present. - Scheduler: orchestrates recurring scan and maintenance cycles based on
scan_interval_seconds. - Disk Monitor: tracks free space, availability, and health indicators.
- Recovery Engine: supports degraded operation and reintegration after disk recovery.
- Notifications: emits operational events and warnings via Discord webhook or console output.
- Web Panel: Flask-based dashboard (default port
5000) that reads live stats and config at runtime.
Startup Preflight
On every start the program runs a preflight check that reports:
- OS and Python version
- Admin/root privileges
- FUSE availability and mount point
- Enabled services (FUSE, WebDAV, SFTP, NFS, Web Panel)
- Installation advice for missing dependencies
This output appears both in the console and via the Discord webhook (if configured).
Discord Notifications
Set webhook_url in config.yml to a Discord webhook URL to receive alerts about:
- File moves and deletions
- Disk space warnings
- Server startup statuses
- Errors and recovery events
Leave webhook_url empty or omit it to disable notifications.
Advanced details
- Startup preflight can gate service enablement based on dependency readiness.
- Recovery integrates with validation outcomes and disk health telemetry.
- Notifications post to a single Discord webhook; a Discord bot can be used as a relay for multiple channels.
- The NFS service uses the Linux kernel NFS server (
nfs-kernel-server), installed automatically if missing. It requires root or sudo to write export entries and reloadexportfs. - The Web Panel runs as a daemon thread and its Flask output is silenced by default to keep the console clean.