-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
Summary
Enable pod users to mount their pod as a local filesystem via SSHFS/SFTP.
Motivation
With --terminal (v0.0.118) users already have shell access. The next step is letting users mount their pod on any computer:
sshfs [email protected]:/ ~/pod/This turns the pod into a Dropbox/Google Drive replacement — edit files in VS Code, drag and drop in a file manager, cp from terminal. WebSocket notifications mean the browser pane updates in real-time.
Implementation options
Option A: Built-in SFTP server
- Add
--sftpflag to JSS - Use a Node.js SSH/SFTP library (e.g.
ssh2) - Map SFTP operations to the existing storage layer
- Authenticate via pod credentials (
jss passwd)
Option B: Integrate with system SSH
jss passwdalready manages user credentials- Create system users mapped to pod users
- Chroot each user to their pod directory
- Use OpenSSH's built-in SFTP subsystem
Option C: WebDAV
- More portable than SFTP (works natively on Windows/Mac/Linux)
- JSS already speaks HTTP — WebDAV is a small extension
- Mount via native OS tools without extra software
User flow
jss passwd alice— set password- User mounts:
sshfs alice@server:/ ~/pod/ - Files appear as local directory
- Edits sync to pod in real-time
- Browser pane updates via WebSocket
Builds on
--terminal(Add built-in WebSocket terminal endpoint (--terminal) #234) — shell accessjss passwd(Add password management CLI commands #232) — user password management
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels