Skip to content

Zayncoder1/server-fileserver

Repository files navigation

⚠️ ABSOLUTELYREADMEORTHISIMAGEMAYNOTWORK.md

Yes, the name is serious.
If you skip this README, the image may technically run… but not do what you expect.

So please read 🙏


📦 What is this?

This Docker image runs a Node.js file server that lets you:

  • 📁 Browse folders in your browser
  • 🖼 Preview images
  • 🎵 Play audio (MP3, WAV, OGG)
  • 🎬 Play videos (MP4, WebM, MOV)
  • 📄 View text files
  • ⬇️ Download files
  • 📱 Works on desktop, mobile, iPhone, iPad
  • 🧠 Supports proper streaming (range requests)

Basically:
A local web file server, but actually nice to use.


⚠️ VERY IMPORTANT: sharing FOLDER

This server WILL NOT WORK unless a folder named:

sharing

exists inside the container.

Why?

The server only serves files from:

/app/sharing

No sharing folder = nothing to show = Not Found.


✅ The CORRECT way to use this image

1️⃣ Create a folder on your computer

Example: mkdir my-files Put files inside it:

my-files/ ├─ song.mp3 ├─ video.mp4 ├─ image.png └─ notes.txt 2️⃣ Run the container (IMPORTANT) You must mount your folder as /app/sharing

Example:

docker run -p 8000:8000
-v /full/path/to/my-files:/app/sharing
your-image-name ⚠️ On Windows (PowerShell example):

docker run -p 8000:8000 -v ${PWD}\my-files:/app/sharing your-image-name 3️⃣ Open your browser Go to:

http://localhost:8000 You should now see:

Your files

Directory list

Preview buttons

Download buttons

If you see Not Found, go back to step 2.

📁 Supported file types Previewable Images: .png .jpg .jpeg .gif .webp

Audio: .mp3 .wav .ogg

Video: .mp4 .webm .mov

Text: .txt .md .json .js .css .html .htm

Everything else Automatically downloads

🌐 Network access By default:

Accessible from the same machine

Accessible from your local network (LAN)

If your firewall allows it, other devices can open:

http://YOUR-IP:8000 📝 Logs Every request is logged in the terminal like this:

(IP) (Browser) (Request Method) (Requested Path) (Status Code) Example:

192.168.0.15 Chrome GET /video.mp4 206 Yes, this is intentional 😎

❓ Common problems ❌ "Not Found" sharing folder does not exist

Folder not mounted correctly

Wrong path in -v

❌ Video shows 0:00 / 0:00 Browser didn’t get byte-range support

Make sure you are accessing via /raw/...

This image already handles that correctly

❌ Nothing shows up Your folder is empty

Or Docker doesn’t have permission to access it

DOWNLOAD https://hub.docker.com/r/emoymorelly/server-fileserver

💬 Feedback & Issues If something breaks or you have ideas:https://github.com/Yoga190709/server-fileserver-issues/issues/new

Or open a GitHub issue https://github.com/Yoga190709/server-fileserver-issues/issues/new Feedback is welcome 👍

👤 Credits credits : emoymorelly

Built for fun, learning, and “why not?” energy 🚀

🧠 Final warning If you skipped this README and it didn’t work:

That’s on you 😄 But now you know.

Releases

No releases published

Packages

 
 
 

Contributors