miniserve

Serve files and directories instantly over HTTP with a single cross-platform binary. Enjoy built-in authentication, file uploads, and folder downloads.

Need to quickly share a file or directory without configuring a complex web server? This self-contained, cross-platform CLI utility lets you serve files over HTTP immediately. It operates as a single binary drop-in, requiring absolutely no extra dependencies to get started. Whether you are sharing a single document or an entire folder structure, it handles correct MIME types out of the box and provides a fast, highly parallel experience.

Key features include:

  • File uploading and directory creation directly from the browser or via curl.
  • Folder downloads compressed on the fly as .tar.gz or .zip archives.
  • Robust authentication supporting usernames, passwords, and hashed credentials.
  • Single Page Application (SPA) mode to route non-existent paths to your index file.
  • TLS support and WebDAV compatibility for secure and flexible file management.
  • QR code generation for quick access from mobile devices.

Directory Structure

miniserve
data
.env
docker-compose.yml

docker-compose.yml

services:
  miniserve:
    image: svenstaro/miniserve:latest
    container_name: miniserve
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./data:/data
    # Command arguments:
    # -v: Verbose logging
    # --enable-tar: Allow downloading directories as TAR
    # --enable-zip: Allow downloading directories as ZIP
    # /data: The directory inside the container to serve
    command: -v --enable-tar --enable-zip /data

.env

# No sensitive environment variables are required for the default configuration.
# Miniserve is primarily configured via command-line arguments defined in the docker-compose.yml file.

Share:

Ad
Favicon

 

  
 

Similar to miniserve

Favicon

 

  
  
Favicon

 

  
  
Favicon