Skip to main content

A simple, fast, and beautiful local file sharing service

Project description

localfs

A simple, fast, and beautiful local file sharing service built with Python and Flask. Share your media library (videos, audio, images) across your local network through a clean, modern web interface.

License: MIT Python Version Code style: ruff


Features

  • Instant web access — view and download files from any device on your network
  • Built-in video & audio player with auto-generated thumbnails
  • Live search filtering
  • Clean, modern UI styled with Tailwind CSS
  • Configurable file-type filtering
  • Optional access key for web interface security
  • JSON API endpoint for sharing activity logs

Quick Start

Install via pip

pip install localfs

Install from source

git clone https://github.com/rkriad585/localfs.git
cd localfs
pip install -e .
python -m localfs

Install via script (Linux / macOS)

curl -fsSL https://raw.githubusercontent.com/rkriad585/localfs/main/installer.sh | sh

Install via script (Windows PowerShell)

irm https://raw.githubusercontent.com/rkriad585/localfs/main/installer.ps1 | iex

Open the URL printed in the terminal to access the web interface.

Docker

docker build -t localfs .
docker run -p 5000:5000 -v ./media:/app/media localfs

Or with docker compose:

docker compose up

Documentation

Full documentation is in the docs/ directory:

Guide Description
Setup Guide Installation and first run
Usage Guide How to use localfs
Configuration All config options explained
API Reference JSON API documentation
Development Setting up a dev environment
Deployment Production deployment options
Troubleshooting Common issues and fixes
Architecture Project architecture overview

Build Commands

make build      # Build wheel and sdist
make install    # Install in editable mode
make test       # Run tests
make lint       # Run linter
make format     # Format code
make run        # Start server
make clean      # Remove build artifacts
make docker     # Build Docker image

Project Structure

localfs/
├── main.py              # Application entry point and Flask routes
├── config.py            # Configuration constants
├── pyproject.toml       # Project metadata and dependencies
├── Dockerfile           # Multi-stage Docker build
├── docker-compose.yml   # Docker Compose configuration
├── Makefile             # Build automation
├── build.sh / .ps1      # Cross-platform build scripts
├── installer.sh / .ps1  # System installer / uninstaller
│
├── data/                # Runtime data (logs, auto-created)
├── media/               # Place your shared files here
├── static/
│   ├── js/main.js       # Search filtering logic
│   ├── logo.svg         # Project logo
│   └── thumbnails/      # Auto-generated video thumbnails
├── templates/
│   ├── index.html       # File grid homepage
│   ├── player.html      # Video/audio player page
│   └── error.html       # Error pages (401/403/404/500)
├── tests/
│   ├── conftest.py      # Pytest fixtures
│   ├── test_config.py   # Config tests
│   └── test_main.py     # Main application tests
└── docs/                # Documentation

Uninstalling

localfs --selfuninstall

Uninstall via script (Linux / macOS)

curl -fsSL https://raw.githubusercontent.com/rkriad585/localfs/main/installer.sh | sh -s -- --selfuninstall

Uninstall via script (Windows PowerShell)

Invoke-RestMethod -Uri "https://raw.githubusercontent.com/rkriad585/localfs/main/installer.ps1" | Invoke-Expression -ArgumentList "--selfuninstall"

License

Distributed under the MIT License. See LICENSE for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

localfs-1.0.0.tar.gz (34.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

localfs-1.0.0-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file localfs-1.0.0.tar.gz.

File metadata

  • Download URL: localfs-1.0.0.tar.gz
  • Upload date:
  • Size: 34.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for localfs-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c92c23b723fd77ebc4d4a0e4ae136484e2b930bbddbe6feaa2f82a87cf5f33f2
MD5 eb1e94d9d8830b812caba14d5088d6fd
BLAKE2b-256 678ed6afbc4dbdcef87358b26f97d4ee2a8d48c665b2ac0fed83db04fe287538

See more details on using hashes here.

File details

Details for the file localfs-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: localfs-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 19.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for localfs-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 da31d7637318f514ddc6d672f6fbff1f916f560dde19bb789931b14231674eff
MD5 19bfb287b368f87cd53f7fd11b51385f
BLAKE2b-256 d5955a7acce495c8c0c508547938d74ef1de2d046a47ae155f72dac8e5bdaf96

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page