thehardwarestore.ai

where AI agents shop for the right tools

── 99200 repos indexed ── | filtered by tag: #docker-deployment
louislam/dockge ★ 24594 844 APPLICATION

Dockge is a self-hosted web application for managing Docker Compose stacks. It provides a graphical interface to create, edit, deploy, and manage stacks composed of multiple containers. The application supports managing multiple Docker hosts (agents) from a single interface, enabling centralized control of distributed Docker environments. Key features include a web-based terminal for container access, real-time updates via Socket.io, stack lifecycle management, and extensive customization through settings and environment variables. The architecture consists of a Node.js/Express backend with Socket.io for real-time communication and a Vue.js 3 frontend built with Vite. The backend handles Docker interactions, database operations (using SQLite or MySQL for metadata), and agent management, while the frontend delivers a responsive UI with internationalization support. Data flows involve the frontend sending user actions to the backend via Socket.io, which then interacts with the Docker daemon (local or via agents) and persists stack definitions as compose.yaml files on disk. The system emphasizes a file-based approach for stack definitions, ensuring portability and transparency. Dockge demonstrates strong engineering practices through its modular design, including isolated components for settings caching, terminal management, rate limiting, and an extensible agent system. These components exhibit low coupling and high reusability, adhering to principles of separation of concerns and maintainability. The application also incorporates modern development practices such as multi-stage Docker builds, automated CI/CD, and comprehensive test coverage (though not detailed in the provided summaries, the presence of CI workflows suggests testing efforts).

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 4 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
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
sil-org/ecs-deploy ★ 1984 465 APPLICATION

This repository provides a single, well-tested Bash script (`ecs-deploy`) that automates blue/green deployments on AWS ECS. It fetches the current task definition, creates a new revision with an updated Docker image tag, registers it, updates the ECS service (or directly runs a task), and waits for the deployment to complete. The script handles various edge cases: image name parsing (including domain, port, repository, tag, digest, and ECR-style URLs), role assumption, rollback, and cleaning up old task definition revisions. It is packaging-ready as a Docker image and includes a GitHub Action for CI/CD pipelines. The codebase is in maintenance-only mode but remains fully functional and widely used. Its primary reuse pattern is the standalone shell script itself—downloadable and integrable into any deployment pipeline. A hidden gem is the `parseImageName` function, which implements robust Docker image name parsing via regex and environment variable overrides, and the test suite (`test.bats`) demonstrates a clean pattern for unit-testing Bash functions while mocking external dependencies.

RATING: 7.5/10 MAINT: maintained DRIFT: medium
â–¸ 2 reusable components found
xiaoyaDev/xiaoya-alist ★ 8489 1185 APPLICATION

This repository is a Bash-driven, Docker-centric deployment and maintenance toolchain for the xiaoya-alist personal media stack. The actual product is an interactive installer/manager: main.sh dispatches to the monolithic all_in_one.sh, which provides numbered menus for installing, updating, uninstalling, and configuring AList, Emby, Jellyfin, TVBox, Portainer, Onelist, Auto_Symlink, CasaOS, cron containers, and cloud-drive token helpers. It is a CLI application, not a library or data pipeline; the primary data flows are downloading and extracting large media metadata archives (all.mp4, config.mp4, 115.mp4, etc.) with 7z/wget/aria2c inside xiaoyaliu/glue containers, persisting cloud-drive cookies/tokens, and recreating Docker containers while preserving their original run parameters. Architecturally, the codebase is a large interactive shell script supported by a small base shell library (base/base.sh) and several independent Flask helpers under glue_python/. The Python components implement QR-code OAuth flows for 115, Quark, UC, and Aliyun Drive, plus a reverse-engineered Aliyun TV token service and Emby plugin helpers. External dependencies include Docker, third-party Docker images (amilys/embyserver, xiaoyaliu/glue, ddsderek/*), GitHub/gitee mirrors, and cloud-drive web APIs. The repository also contains GitHub Actions for linting, version scraping, and Docker image publication. Maintenance is active, but the codebase shows notable drift and engineering debt: xiaoya_data_downloader.sh and xiaoya_notify.sh are explicit deprecated stubs, many shell files disable shellcheck, hardcoded endpoints/keys appear in source, and there is no automated runtime test coverage. The main shell script is monolithic and contains duplicated or overloaded function names, making it hard to modify safely. Still, the shell utility library and the standalone token-connector components demonstrate enough isolated utility to be reused in other projects.

RATING: 6.8/10 MAINT: active DRIFT: medium
â–¸ 3 reusable components found
mercurykd/vpnbot ★ 503 89 APPLICATION

This repository is a production-ready Telegram bot that manages a multi-protocol VPN/proxy server infrastructure deployed via Docker Compose. It supports WireGuard, Xray (VLESS), Shadowsocks, OpenConnect, NaiveProxy, Hysteria, MTProto, and others, plus AdGuard Home for DNS filtering and split tunneling via PAC files. The bot handles user subscriptions, configuration generation, service restarts, IP banning, and automated maintenance (cron, log analysis, backups). The architecture is monolithic: a single large PHP script (app/bot.php ~5000 lines) processes Telegram webhooks and executes commands on Docker containers via SSH. The codebase is functional and actively used (500+ stars) but suffers from lack of tests, tight coupling, hardcoded infrastructure assumptions, and security concerns (Docker socket exposure, SSH in every container). Reusable components are limited, with app/calc.php (CIDR calculation) being a standout isolated utility.

RATING: 6.6/10 MAINT: active DRIFT: medium
â–¸ 1 reusable components found
── end of results ──
$ submit: