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 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-0.2.0.tar.gz (34.6 kB view details)

Uploaded Source

Built Distribution

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

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for localfs-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4c8a35717a6191786d1c71c63b4c95bea717dfa117f00d39bd7ca5814811b231
MD5 0318bc3a7dc5a78f5d6dcee88c9f9cc2
BLAKE2b-256 8e35074bbddb732c6960e7f324b5e99721729f09c6173d565878a5d5dd6bada1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: localfs-0.2.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-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 69c80a0fd3a5fdb987e74305a6d44ef7e98122dc3292e01587f505cf4606eeca
MD5 a4888e71f454e9dd41eb046ef9cd6b37
BLAKE2b-256 0f10db45f51d78f00485e10861fb435419d5ceccbd67c7693cc085ef0c3e14f3

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