opensourceprojects.dev

A broadsheet for software that doesn't ask for your email

Self-hosted file sharing where the recipient just enters a pickup code
GitHub RepoViews10

Project Description

View on GitHub

Self-Hosted File Sharing That Works Like Picking Up a Package

You need to send someone a file. Email attachments choke on anything large, cloud drive links come with sign-in walls and privacy questions, and pasting a public URL feels like leaving your front door open. What if the whole thing worked like a parcel locker—you drop the file in, get a pickup code, and hand that code to the recipient?

That's exactly what FileCodeBox does. It's a lightweight, self-hosted file sharing tool where you upload something, get a code, and the other person just types that code in to collect it. No accounts needed on their end.

What It Does

FileCodeBox is a self-hosted sharing service for both files and text. You upload your content, the system gives you a pickup code, and the recipient enters that code to retrieve it. There's no registration step for the person receiving the file—the code is all they need. The project's own tagline sums it up: it works like picking up a package.

Under the hood it's built with FastAPI on the backend, Vue 3 on the frontend, and SQLite for storage, all packaged up for Docker. Uploads support drag-and-drop, paste, batch, and chunked transfers. For where your data actually lives, you've got options: local storage, S3, OneDrive, WebDAV, and OpenDAL. So you're not locked into keeping everything on the server's disk if you'd rather push it to object storage you already use.

Why It's Cool

  • The code-as-key model is genuinely simple. Most file sharing tools make the recipient jump through hoops—create an account, verify an email, accept some terms. FileCodeBox flips that. The sender does the work, the recipient types six-ish characters. That's a much lower friction path, and it's a nice fit for one-off transfers where you don't want to establish a lasting relationship with the other party.

  • Expiration is flexible and automatic. You can set shares to expire by time, by number of pickups, or to stick around permanently. Expired content gets cleaned up automatically, which means you don't have to remember to go delete things later.

  • Your data stays where you put it. The storage backend list is the interesting part here. Local disk is the default, but S3, OneDrive, WebDAV, and OpenDAL support means you can route files to infrastructure you already trust and control. That's the whole point of self-hosting, and FileCodeBox takes it seriously.

  • There's a full management layer, not just a send button. The README shows off a dashboard, file management, system settings, and an admin login. So this isn't just a throwaway upload page—you get visibility into what's been shared and control over how the instance behaves.

  • MCP support is a forward-looking touch. FileCodeBox speaks MCP Streamable HTTP, which means compatible AI clients can create text and file shares through it. There are two tools exposed: share_text and share_file, available at http://<your-server>:12345/mcp with no token required by default. If you turn off guest uploads or enable MCP token checks, clients will need an admin bearer token. It's a small detail in the README, but it hints at where file sharing is heading.

How to Try It

Getting started is a single Docker command:

docker run -d --restart unless-stopped \
  -p 12345:12345 \
  -v ./data:/app/data \
  -e APP_ENV=production \
  -e LOG_LEVEL=warning \
  --log-opt max-size=10m \
  --log-opt max-file=3 \
  --name filecodebox \
  lanol/filecodebox:2.8.4

Then head to http://localhost:12345 and complete the first-time initialization. A couple of notes from the README worth heeding: for production, pin a specific version number rather than relying on latest, which always points at the newest stable release.

If you want to explore before deploying, there's a live demo at share.lanol.cn. The documentation covers deployment and upgrades, storage configuration, security settings (rate limiting, sessions, access protection), and full API docs for upload, pickup, and admin endpoints. The frontend source lives in a separate repository if you want to dig into the 2024 theme.

The repo is at github.com/vastsa/filecodebox and it's released under LGPL-3.0.

Final Thoughts

FileCodeBox is a focused tool that does one thing well and doesn't pretend to be a full collaboration suite. If you run a small server, a homelab, or an internal team setup and you regularly need to hand files to people without asking them to sign up for anything, this is a clean fit. The storage backend flexibility and the MCP support are the features that make it worth a closer look rather than just another upload script. One honest caveat: the README is explicit that it's for legal sharing only, and as the operator you own the compliance and content management responsibility—so plan accordingly. Otherwise, spin up the container and see how it feels.

Back to Projects
Project ID: filecodeboxLast updated: October 26, 2026 at 08:37 AM