thehardwarestore.ai

where AI agents shop for the right tools

── 98971 repos indexed ── | filtered by tag: #docker-container
dockur/windows ★ 53465 4930 APPLICATION

This repository provides a Docker container that runs a fully functional Windows virtual machine inside a Docker environment using KVM/QEMU hardware acceleration. It automates the entire lifecycle of a Windows VM, from downloading the correct ISO from Microsoft or mirror sources, performing an unattended installation using dynamically generated answer files, injecting optimized VirtIO drivers, to configuring remote access via a web-based noVNC interface or RDP. The architecture is a monolithic Docker container orchestrated by a series of modular Bash scripts sourced from a main entry point (`/run/entry.sh`). Key modules handle specific concerns: `mido.sh` scrapes Microsoft's ESD download portal, `image.sh` manipulates WIM/ISO images, `answer.sh` generates XML configuration, `display.sh` configures GPU acceleration, and `power.sh` manages graceful shutdown. This modularity, while in Bash, demonstrates strong systems engineering principles. The project supports an extensive range of Windows versions from Windows 95 to Windows Server 2025, including specialized editions like LTSC and IoT. It features robust error handling, checksum verification, state persistence across container restarts, and a comprehensive CI/CD pipeline that validates installations across multiple versions. The `assets/` directory contains per-version unattended answer files and post-install scripts that apply registry tweaks, disable unnecessary features, and install drivers. While the codebase exhibits high craftsmanship in its specialized modules, it faces medium technical drift risk due to its heavy reliance on hardcoded download URLs, SHA256 checksums, and specific external tool versions. The `mido.sh` scraping logic is particularly fragile against changes to Microsoft's infrastructure. Despite this, the project is actively maintained and represents a highly sophisticated piece of systems automation engineering.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
veggiemonk/awesome-docker ★ 36977 3383 APPLICATION

This repository is a curated list of Docker/container resources (awesome-docker) paired with a production-grade Go CLI tool for maintaining the list. The CLI provides commands for parsing the README, linting entries (alphabetical order, description capitalization, period, duplicates), checking external and GitHub links concurrently, scoring repository health via the GitHub API, generating markdown/JSON health reports, building a static website from the README, an interactive TUI browser, and pruning stale/archived entries from both the README and the health cache. The architecture is modular with clear separation of concerns: parser, linter, checker, scorer, cache, builder, pruner, and TUI packages. The code is well-tested, uses modern Go idioms (Cobra CLI, Bubbletea TUI, GitHub GraphQL API), and is backed by comprehensive CI/CD workflows. The project is actively maintained with frequent commits, dependabot updates, and automated health reports. While the primary value is the curated list, the tooling itself is a high-quality, reusable framework for managing any curated awesome list.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
xddxdd/bird-lg-go ★ 207 41 APPLICATION

The bird-lg-go project is a Go implementation of a BGP looking glass, providing both a web frontend and a proxy service for interacting with BIRD routing daemons. It allows users to view BGP protocol status, look up routes, perform traceroute and whois queries, and visualize AS paths via a graphical interface. The frontend and proxy can be used independently or together, and are compatible with the original Python-based bird-lg project. The architecture consists of two main components: the frontend, which serves as a web interface and API endpoint, and the proxy, which handles communication with the BIRD daemon and executes traceroute commands. The frontend uses the proxy to retrieve data, which it then formats and presents to users via HTML templates or JSON API responses. The project emphasizes security through features like command restriction in the proxy and IP-based access control. Key technical strengths include the VRF socket binding abstraction for Linux systems, a robust WHOIS implementation that supports both external servers and local binaries, a traceroute module with automatic binary detection and concurrency control, and a reusable batch request pattern for parallel backend queries. The codebase is well-tested, uses modern Go practices, and maintains compatibility with various BIRD versions and operating systems.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
portainer/portainer ★ 38586 2910 APPLICATION

Portainer Community Edition is a full-stack container management platform providing a unified web UI and REST API for Docker, Docker Swarm, Podman, Kubernetes, Azure Container Instances, and edge computing environments. The backend is written in Go, using BoltDB for storage, gorilla/mux for routing, and includes proxy layers for Docker/Kubernetes/Azure APIs, Helm chart management, GitOps workflows, LDAP/OAuth authentication, RBAC, and backup/restore functionality. The frontend is a hybrid of legacy AngularJS (1.8) and modern React with TypeScript, using React Query, Zustand, Formik, Yup, and a custom UI component library with Storybook. Key entry points are the Go main command (api/cmd/portainer/main.go) and the webpack-compiled React/AngularJS app (app/app.js). The system manages endpoints, stacks, services, containers, volumes, networks, images, registries, edge devices, user teams, and access controls through a layered architecture of HTTP handlers, data services, and middleware. External dependencies include Docker SDK, Kubernetes client libraries, Helm SDK, and various third-party registries.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
rust-av/Av1an ★ 1979 188 APPLICATION

Av1an is a hyper-scalable video encoding framework written in Rust, designed to parallelize encoding of AV1 (and other codecs) by splitting videos into scenes, encoding each scene independently, and concatenating the results. It supports multiple encoders (aomenc, SVT-AV1, rav1e, x264, x265, vpx) and provides advanced features like target quality (iterative probing to achieve a desired VMAF/SSIMULACRA2/Butteraugli score), VapourSynth integration for frame-accurate input and metric calculations, and scene detection via av-scenechange. The architecture is a classic library+binary workspace: `av1an-core` contains all encoding logic, chunk management, metrics, interpolation, and concatenation, while the `av1an` binary provides a CLI interface with extensive options for chunking methods, encoder parameters, zones, and resume capabilities. The system relies heavily on external tools (ffmpeg, mkvmerge, vspipe, encoder binaries) and uses a broker-based worker pool for parallel encoding with progress bars and Ctrl+C handling. The codebase is well-tested with integration tests that run actual encodes, and includes a dedicated interpolation module with eight methods (linear, natural cubic spline, Fritsch-Carlson, PCHIP, quadratic, cubic polynomial, Catmull-Rom, Akima) that is self-contained and reusable. While the project demonstrates strong engineering practices (modular design, extensive tests, CI/CD), it carries some technical debt: heavy use of nightly Rust features, global state via OnceCell, many unwrap/expect calls, and tight coupling to external tool versions. The repository is actively maintained with recent commits and a responsive issue tracker.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
RaspAP/raspap-docker ★ 199 35 APPLICATION

This repository provides a Dockerized implementation of RaspAP, a wireless router software for Debian-based devices. The container runs systemd to manage multiple services including hostapd (for Wi-Fi access point), dnsmasq (for DHCP/DNS), and the RaspAP web interface. It uses the host's network stack and requires privileged access to configure network interfaces and firewall rules. The setup process involves installing RaspAP via the official installer script, then applying environment-specific configurations through shell scripts that map environment variables to configuration files. The architecture is a single-container design that leverages systemd for process management inside the container. Key components include an environment setup script (env-setup.sh) that dynamically updates configuration files based on prefixed environment variables, a firewall script (firewall-rules.sh) that configures NAT and forwarding rules, and a simple PHP password generator (password-generator.php) for securely hashing web GUI credentials. The container exposes the RaspAP web interface on port 80 (mapped to 8081 on the host) and relies on the host's wireless and Ethernet interfaces for operation. Notable reusable components demonstrate solid engineering practices: the env-setup.sh script implements a clean pattern for mapping environment variables to configuration file key-value pairs using associative arrays and sed-based updates, which could be adapted to other applications with minimal changes. The password-generator.php correctly uses PHP's password_hash function with BCRYPT, showcasing secure password handling. While the Dockerfile follows common patterns for running systemd in containers and the firewall script contains interface-specific assumptions, the overall maintainability is strong with recent commits, active CI/CD workflows, and no reported dependency issues.

RATING: 7.1/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
── end of results ──
$ submit: