2025-06-22.16-58-10.mp4
Need Help? Join my Development Server
SMS makes simple file sharing easy! Upload, share, and manage your files quickly. Supports file expiration, quick filters, and previews!
Remote File Management
- Access your home server or NAS remotely through Cloudflare Zero Trust or Tailscale
- Drag-and-drop file uploads from any device without SSH/SCP commands
- Manage media libraries for Plex, Jellyfin, and other media servers
Quick Link Sharing*
- Generate instant download links for files too large for traditional sharing services
- Set expiration times to automatically clean up storage
- Perfect for temporary file sharing with automatic cleanup
Server Administration
- Browse and organize server file systems through a web interface
- Upload configuration files, scripts, or media content easily
- Monitor storage usage and file expiration schedules
*Disabled by default, to serve your files publicly, please enable "File Serving" in settings.
Clone Repository
git clone https://github.com/Cattn/SMS && cd SMS
Install Dependencies
npm i
npm i -g concurrently
Start Application
npm run startall
The application will be available at http://localhost:1337
Prerequisites
- Node.js 18+ and npm
Network Access
- Frontend runs on port
1337
- Backend API runs on port
5823
- Both ports must be accessible for proper operation
- File serving runs on port
3000
(disabled by default)
Security Note Do not expose ports 1337 and 5823 directly to the internet. Use reverse proxy, VPN, or tunneling solutions like Cloudflare Zero Trust or Tailscale for remote access.
Configuration is automatically generated in api/config.json
on first startup. Settings can be modified:
- Through the web interface (Settings tab)
- By directly editing the JSON file (no restart required)
Production Deployment
npm run startall # Full build and start both services
Development
npm run dev # Frontend development server only
npm run dev:api # Backend development server only
Optimized Builds (for resource-constrained servers)
npm run ncuStart # Rebuild server only, reuse client build
npm run nsuStart # Rebuild client only, reuse server build
npm run nobStart # Start without rebuilding (fastest)
Update Strategy When updates are released, they are tagged to indicate what needs rebuilding:
-s
Server update - usencuStart
-c
Client update - usensuStart
-b
Both updated - usestartall
This is for people with dependancy issues, or would like an "easier" setup.
- Build & Run:
docker-compose up --build
- Build & Run (Detatched):
docker-compose up -d --build
This service is NOT intended to be publicly available on your server. Please make sure ports 1337 and 5823 are not reachable from the internet.
However, if you'd like to serve your files publicy, please make port 3000 available from the internet (or use your preferred web server to serve it on port 443)
Simply enable "File Serving" in settings! Your files will be served to port 3000.
Main Developer: Cattn