DEV Community

Cover image for Vue-fs: A home file server solution
Derek Flynn
Derek Flynn

Posted on

Vue-fs: A home file server solution

The greatest use case I could hope for with this project is that someone uses it to turn their old laptop they were gonna throw away into a file server.

Vue-fs is meant to be just that. A simple home server app for anyone that wants to NAS the old hardware they have lying around. I'm also planning on adding more features in the future like User/API Auth, File Sharing and Public/Private folders.

🚀 Demo     💿 Source Repo

Features

✔️ Upload (multiple files)
✔️ Download (multiple files/directories)
✔️ Move (multiple files/directories)
✔️ Delete (multiple files/directories)
✔️ Subfolders
✔️ Extracting
✔️ Create new diretories
✔️ Filtering
✔️ File viewer *if compatible with the browser
✖️ Rename files/directories
✖️ User/API auth
✖️ HTTPS
✖️ File Sharing

Final Notes

I ran compatibility tests on the project's node backend with a Raspberry Pi, an old netbook running Ubuntu, and a Windows 10 machine. All features worked on all three of these test machines (thanks POSIX!).

I'm always open to collaboration, and would welcome pull requests. I hope someone out there finds this useful, and hopefully this will enrich the FOSS community in some small way. Thanks for checking it out guys!

GitHub logo FlynnDerek / vue-fs

A Vue file management client, complete with a node/express/FS backend.

vue-fs

🚀 Demo

This project exists mostly as a challenge to myself! Vue-fs is meant to be a complete home file server and file management solution. The idea being you can run it on a Raspberry Pi, an old laptop or even a rack server Over time I will be adding extra features to this project, listed below. I also welcome collaboration, should any of you feel inclined :)

Features

  • Upload (multiple files)
  • Download (multiple files/directories)
  • Move (multiple files/directories)
  • Delete (multiple files/directories)
  • Subfolders
  • Extracting
  • Create new diretories
  • Filtering
  • File viewer *if compatible with the browser
  • Rename files/directories
  • User auth
  • HTTPS

Installation

Client

cd client

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build
Enter fullscreen mode Exit fullscreen mode

Server

cd server
# install dependencies
npm install

# run server
node server.js

# if you have nodemon installed globally
npm run
Enter fullscreen mode Exit fullscreen mode

Top comments (0)