Skip to content

HiveDrop is a sweet simple file sharing solution. Containerize files, and web serve them.

Notifications You must be signed in to change notification settings

WatskeBart/hivedrop

Repository files navigation

🍯 HiveDrop

A containerized file distribution server that automatically downloads and serves software packages, extensions, and installers. Built with unprivileged Nginx for security.

🚀 Quick Start

# Pull and run the latest image
docker run --rm -p 8080:8080 ghcr.io/watskebart/hivedrop:latest

Navigate to http://localhost:8080 to browse available downloads.

📦 Available Downloads

  • VS Code Extensions - Latest .vsix files from Microsoft Marketplace
  • Windows Software Installers - Popular applications via Winget

🔄 Automated Updates

New container images build automatically:

  • Schedule: Every Sunday at 22:00 UTC
  • Trigger: Latest downloads from configured package lists
  • Registry: ghcr.io/watskebart/hivedrop:latest

📁 Repository Structure

├── pollen/                     # 🌼 Download configuration
│   ├── vscode-extensions.txt   # VS Code extension IDs
│   └── winget-installers.txt   # Winget package IDs
├── honey/                      # 🍯 Downloaded files (generated)
│   ├── vscode-extensions/      # .vsix files
│   └── winget-installers/      # .exe/.msi/.msixbundle installers
└── scripts/                    # 🛠️ Download automation
    └── winget-downloader.ps1

🌼 Pollen (Configuration)

Contains package lists that define what gets downloaded:

  • vscode-extensions.txt - One extension ID per line (e.g., ms-python.python)
  • winget-packages.txt - One package ID per line (e.g., Microsoft.VisualStudioCode)

🍯 Honey (Artifacts)

Auto-generated directory containing downloaded files, served by Nginx.

🛠️ Development

Adding Packages

  1. VS Code Extensions: Add extension ID to pollen/vscode-extensions.txt
  2. Software: Add package ID to pollen/winget-installers.txt

Find package IDs:

Local Testing

# Clone and build
git clone <repo-url>
cd hivedrop
docker build -t hivedrop:local .
docker run --rm -p 8080:8080 hivedrop:local

📋 Download Methods

  • VS Code Extensions: Downloaded via offvsix Python package
  • Winget Packages: Custom PowerShell script extracts installer URLs and downloads directly

⚡ Features

  • Rootless Security: Runs as non-root user
  • Weekly Updates: Fresh downloads every Sunday
  • Simple Web UI: Default Nginx file browser interface
  • Offline Ready: All files available without internet

About

HiveDrop is a sweet simple file sharing solution. Containerize files, and web serve them.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors