How doctor-io/homeio works
Homeio is a self-hosted server manager whose desktop-style interface lets an administrator inspect and operate a server: manage Docker apps, files and storage, system resources, and settings. The main workflow crosses the UI, API routes, and server modules; major supporting capabilities include terminal access, scheduled tasks, backups, networking, and integrations. The README documents product capabilities, while sampled source and the SOURCE INDEX establish only selected internal calls, so other links are omitted or marked unverified rather than inferred from directory names.
Main entry points: desktop-shell.tsx Desktop shell · settings.tsx Settings panel · file-manager.tsx File manager · app-grid-controller.ts App management
Components 23
Desktop experience
- Desktop shell
modules/shell/components/desktop-shell.tsx - System dashboard
modules/system/components/monitor.tsx - Settings panel
modules/settings/components/settings.tsx - Scheduled tasks UI
modules/settings/hooks/useScheduledTasks.ts
Apps and Docker
- App management
modules/apps/components/app-grid-controller.ts - App catalog
lib/server/modules/store/catalog.ts - App operations
lib/server/modules/apps/service.ts - Docker management
lib/server/modules/docker/compose-runner.ts
Files and storage
- File manager
modules/files/components/manager/file-manager.tsx - File services
lib/server/modules/files/service.ts - Network storage
lib/server/modules/files/network-storage.ts - USB storage
lib/server/modules/files/usb-storage.ts - Google Drive
lib/server/modules/files/google-drive.ts
System management
- System services
lib/server/modules/system/service.ts - Disk management
lib/server/modules/system/disk-service.ts - Network manager
lib/server/modules/network/service.ts - Backup and restore
lib/server/modules/system/backup-service.ts
Server services
- Authentication
lib/server/modules/auth/service.ts - Scheduled task API
app/api/v1/scheduled-tasks/route.ts - Task scheduling
lib/server/modules/scheduled-tasks/service.ts - Terminal service
lib/server/modules/terminal/websocket-server.ts - Cloudflare Tunnel
lib/server/modules/integrations/cloudflare-tunnel-service.ts
Other components
- Administrator
Connections 21
- Administrator → Desktop shell: uses
README.md - Desktop shell → System dashboard: views
README.md - Desktop shell → App management: manages
README.md - Desktop shell → File manager: opens
README.md - Desktop shell → Settings panel: configures
- App management → App catalog: browses
- App management → App operations: operates
- App operations → Docker management: runs apps
- File manager → File services: manages files
- File manager → Network storage: mounts shares
- File manager → USB storage: manages drives
- Desktop shell → System services: shows metrics
README.md - Settings panel → Disk management: configures disks
- Settings panel → Backup and restore: manages backups
README.md - Administrator → Authentication: authenticates
- Scheduled tasks UI → Scheduled task API: requests tasks
modules/settings/hooks/useScheduledTasks.ts - Scheduled task API → Task scheduling: delegates
app/api/v1/scheduled-tasks/route.ts - Administrator → Terminal service: opens shell
README.md - Settings panel → Network manager: manages network
README.md - Settings panel → Cloudflare Tunnel: publishes apps
README.md - File manager → Google Drive: browses drive