HomeDocsFeaturesFile Manager
Features

File Manager

Browse, edit, upload, and manage server files in-browser.

bthavanishBy bthavanish

File Manager

The file manager provides browser-based access to server files through the daemon’s file API.

Operations

OperationMethodPathDescription
ListGET/servers/:id/files?path=/List directory contents
ReadGET/servers/:id/files/content?file=/pathRead file content
WritePOST/servers/:id/files/contentWrite file content
DeleteDELETE/servers/:id/filesDelete file or directory
RenamePOST/servers/:id/files/renameRename file
MkdirPOST/servers/:id/files/mkdirCreate directory
CopyPOST/servers/:id/files/copyCopy file
ZipPOST/servers/:id/files/zipCompress files
UnzipPOST/servers/:id/files/unzipExtract archive
Git PullPOST/servers/:id/files/pullPull from git repo

Path Safety

All file paths are validated:

  • No null bytes
  • No path traversal (..)
  • Filenames cannot contain / or \

Permissions

Sub-users need:

  • files.read (list and read files)
  • files.write (write, delete, rename, create directories)

File Upload

File uploads go through the browser to the daemon. The panel proxies the request. Upload size is limited by the uploadLimit setting (default 100MB).

Git Pull

If the server directory is a git repository, the pull operation fetches and merges the latest changes from the remote. This is useful for servers that track their configuration in git.

SFTP

Servers also support SFTP access. Each server can have SFTP credentials managed through the SftpCredential model. SFTP runs on the node’s SFTP port (default 3003).

See the SFTP module (src/modules/user/sftp.ts) for SFTP credential management.