thehardwarestore.ai

where AI agents shop for the right tools

── 98857 repos indexed ── | filtered by tag: docker-compose
abiosoft/colima ★ 31103 624 APPLICATION

Colima is a CLI tool that provides container runtimes (Docker, Containerd, Incus) and Kubernetes on macOS and Linux with minimal setup. It leverages Lima to create lightweight VMs and provisions the desired runtime inside them, automatically wiring host clients (docker, kubectl, incus) via contexts and socket forwarding. The architecture is a Go CLI application using cobra for commands, with a background daemon for vmnet networking and inotify file event propagation. Key entry points include `colima start`, `stop`, `delete`, `ssh`, `kubernetes`, `nerdctl`, and `model` (for AI workloads). External dependencies include Lima, QEMU, Docker/Containerd/Incus clients, kubectl, and optionally krunkit for GPU-accelerated AI models. The codebase is well-structured with clean abstractions, extensive testing, and several reusable components.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 6 reusable components found
docker/compose ★ 38279 5847 APPLICATION

Docker Compose is a CLI tool for defining and running multi-container Docker applications. It reads compose files (YAML) describing services, networks, and volumes, then orchestrates their lifecycle (create, start, stop, rebuild, scale, etc.) against the Docker Engine API. The architecture is a Go CLI built with cobra, backed by a service layer (pkg/compose) that implements a reconciliation engine: it compares desired state (from the compose project) with observed state (live Docker resources) and produces a DAG of atomic operations executed concurrently. It supports remote compose files via Git and OCI registries, a provider extension model (external binaries manage services via JSON-over-stdio), file watching for hot-reload, and a dry-run mode. The codebase is well-structured with extensive unit and e2e tests, a public Go SDK (pkg/api), and integration with Docker Desktop. Key external dependencies include the Docker Engine API, compose-spec/compose-go for project loading, and OCI distribution libraries for publishing.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 6 reusable components found
fastapi/full-stack-fastapi-template ★ 45868 9126 APPLICATION

This repository is the official FastAPI full-stack template, providing a production-ready starter for full-stack web applications. It consists of a FastAPI backend (Python 3.14, SQLModel ORM, PostgreSQL, Alembic migrations) and a React frontend (TypeScript, Vite, TanStack Router/Query, Tailwind CSS, shadcn/ui). The template ships with complete authentication (JWT, password hashing with Argon2/Bcrypt, password recovery via email), user and item CRUD, role-based access control, and a responsive dashboard UI. Deployment is handled via Docker Compose with Traefik, and the project includes comprehensive CI/CD pipelines for testing (pytest, Playwright) and deployment (FastAPI Cloud or self-hosted). While it is a template, the code is structured for immediate extension and includes many reusable patterns such as generic CRUD utilities, email templates written in React Email, and auto-generated OpenAPI client code for the frontend. The repository is not a data research project; it is a pure application template with no data pipelines, notebooks, or ML components. It is actively maintained, with frequent commits and a strong community following.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 4 reusable components found
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
testcontainers/testcontainers-java ★ 8751 1941 APPLICATION

Testcontainers for Java is a mature library that provides disposable Docker containers for integration testing. From the codebase, it is clear the main entry points are `GenericContainer` and its subclasses (`JdbcDatabaseContainer`, `KafkaContainer`, etc.), a `jdbc:tc:` JDBC proxy driver, and JUnit Jupiter/Spock extensions (`@Testcontainers`, `@Container`). The system's core job is to translate test annotations and fluent builder calls into Docker API operations: image pulling, container creation, network attachment, readiness checks via wait strategies, port mapping, and eventual cleanup through a Ryuk sidecar resource reaper. The architecture is a multi-module Gradle build with a core module, database-commons for SQL scripting, JDBC/R2DBC integration modules, and dozens of specialized service modules (databases, message brokers, cloud emulators, Selenium, etc.). The library depends on docker-java, SLF4J, and the local Docker daemon; it is not an application with production endpoints. There is no data/research component — all SQL scripts and data files are test fixtures. The library is actively used as a test dependency across the Java ecosystem. Notable strengths include a well-factored wait-strategy hierarchy, pluggable image substitution and pull policies, reusable file-transfer abstractions, and a coherent lifecycle model. The main maintenance debt is the coexistence of deprecated legacy container classes with newer package replacements, plus a few hardcoded image tags and version-sensitive integration modules. Overall, the code is clean, extensively tested, and deliberately modular, though its size and broad scope create some duplication.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 4 reusable components found
tilt-dev/tilt ★ 10102 415 APPLICATION

Tilt is a local development orchestration tool for Kubernetes and Docker Compose microservice environments. The Go binary evaluates a Starlark-based Tiltfile, watches the filesystem, builds container images, applies changes to a cluster or docker-compose stack, streams logs, and presents state through both a terminal HUD and a React web UI. The architecture is a single CLI/daemon combining a controller-runtime-style apiserver with custom v1alpha1 resource types, a Redux-like central store with actions and reducers, engine subscribers that react to state changes, and reconcilers per resource type. Key entry points are cmd/tilt/main.go, internal/cli/* for command handling, internal/engine/upper.go for the main event loop, and internal/controllers/core/* for reconciliation. External dependencies include Docker daemons/buildx, Kubernetes API servers, docker-compose, git, and optional Tilt Cloud analytics/telemetry endpoints. The codebase is exceptionally large and well-tested, though it carries visible dual-paradigm debt: older store/engine patterns coexist with newer apiserver/controller patterns, and many feature flags are marked obsolete.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
getsentry/self-hosted ★ 9608 1958 APPLICATION

This repository is Sentry's self-hosted packaging and operations layer, not the Sentry application itself. It bundles upstream Sentry, Relay, Snuba, Symbolicator, Taskbroker, Vroom, uptime-checker, and launchpad images into a large Docker Compose deployment, and provides idempotent install/upgrade scripts, generated config templates, healthchecks, backup/restore tooling, and optional community patches. The primary entry points are install.sh, which sources a sequence of modular install/ steps, plus operator scripts under scripts/ (reset.sh, backup.sh, restore.sh), sentry-admin.sh for Django admin commands, and a reusable GitHub Action (action.yaml) that downstream Sentry repos use to run self-hosted end-to-end tests against their own images. The runtime architecture is a compose stack: nginx terminates HTTP and routes ingestion to Relay, which validates and buffers events before writing to Kafka; Snuba consumer containers move data from Kafka into ClickHouse; Sentry web and consumer containers read from Kafka/Postgres/Redis and the SeaweedFS S3-compatible object store; Symbolicator handles native symbolication; Taskbroker routes async tasks. The compose file supports an errors-only profile that dramatically reduces the service count and a feature-complete profile that enables transactions, metrics, replays, profiling, uptime, logs, and mobile builds. The codebase is notably well-tested for an infrastructure repo, with bash unit tests under _unit-test/ and pytest integration tests under _integration-test/ that install the full stack and verify event ingestion end to end. Maintenance is active and dependency drift is low: images are bumped regularly via Dependabot, shell scripts are linted with ShellCheck and formatted with shfmt, there is a pre-commit pipeline, and the repo tracks recent upstream replacements such as Valkey for Redis, pgbouncer, taskbroker, and ClickHouse upgrades. The main limitation for reuse is that most of the repository is configuration and deployment glue tied to this specific stack; the few genuinely self-contained, extractable components are small utilities around healthchecks, cryptography/migration, and cron containers.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
jammsen/docker-palworld-dedicated-server ★ 1010 156 APPLICATION

This repository provides a Docker image for running a Palworld Dedicated Server with comprehensive management features. The image automates server installation/updates via SteamCMD, manages the server lifecycle, and includes a companion service (Node.js) that provides a web operation panel and Discord live status card. Key features include backup management, automatic restarts, player detection, webhook notifications, and a REST API for external management. The architecture uses supervisory patterns to ensure service resilience, with environment-driven configuration and persistent storage for settings and state.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
offen/offen ★ 981 54 APPLICATION

Offen Fair Web Analytics is a privacy-focused, self-hosted web analytics platform that emphasizes user consent and data ownership. The system employs a multi-service architecture consisting of a Go-based backend server for API and data persistence, a Node.js vault service for client-side encryption and key management, a Node.js tracking script for event collection, and a Node.js auditorium interface for users to view their analytics data. All services are orchestrated via Docker Compose, with Nginx acting as a reverse proxy. The platform ensures privacy through end-to-end encryption of analytics data in the browser before transmission to the server, preventing even the server operator from accessing raw data without the user's key. It implements granular consent management, data retention policies (default 6 months), and allows users to review, export, or delete their data via the auditorium. The system supports multiple databases (SQLite, MySQL, PostgreSQL) and provides internationalization for over six languages.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
coollabsio/coolify ★ 60609 5294 APPLICATION

Coolify is a self-hosted Platform-as-a-Service (PaaS) that enables users to deploy and manage applications, databases, and services on their own infrastructure. It serves as an open-source alternative to Heroku, Netlify, or Vercel, supporting Docker-based deployments with Git integration (GitHub, GitLab, Gitea, Bitbucket), multiple build packs (Railpack, Nixpacks), and one-click service templates. The system manages servers, reverse proxies (Traefik/Caddy), SSL certificates, scheduled backups, and multi-channel notifications (email, Discord, Slack, Telegram, Pushover, webhook). The architecture is a Laravel monolith with a Livewire + Alpine.js frontend for the v4 UI and a React + TypeScript canvas-based interface for the v5 UI. Background jobs are handled by Laravel Horizon with dedicated queues for deployments, cron tasks, and reconciliation. Real-time updates use Soketi (a Pusher-compatible WebSocket server) and Laravel Echo. The system integrates with cloud providers (Hetzner, Vultr, DigitalOcean) for server provisioning and Stripe for subscription billing. A Model Context Protocol (MCP) server exposes resources and tools for AI assistant integration. Key data flows include: webhook ingestion from Git providers triggering deployment jobs, SSH-based remote command execution on managed servers, Docker Compose parsing and environment variable injection, database backup scheduling with S3 storage, and proxy configuration generation. The v5 architecture introduces a control-plane/agent split with Flux (HTTP socket) and coold (gRPC) components for improved scalability and isolation. External dependencies include Docker, PostgreSQL, Redis, Soketi, Stripe API, cloud provider APIs, and various notification service endpoints. The codebase is actively developed with frequent schema migrations and a dual v4/v5 code path, indicating ongoing architectural evolution.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
telekom-security/tpotce ★ 9577 1396 APPLICATION

T-Pot Community Edition (tpotce) is an all-in-one honeypot platform that orchestrates 20+ honeypots (e.g., cowrie, dionaea, conpot, heralding) alongside network security monitoring tools (p0f, Suricata, fatt) and the Elastic Stack (Elasticsearch, Logstash, Kibana) for centralized log storage, analysis, and real-time attack visualization. The system is deployed via Docker Compose with an Ansible-based installer supporting multiple Linux distributions. It offers several deployment flavors (standard, sensor, mini, LLM, tarpit, mobile) and supports a distributed Hive/Sensor architecture where remote sensors forward encrypted logs to a central Hive over HTTPS. Architecturally, each honeypot runs in an isolated container with read-only filesystems, non-root user, and dedicated networks. The ELK stack processes all telemetry: Logstash ingests JSON logs from persistent volumes, Elasticsearch indexes them, and Kibana provides dashboards and an attack map. A custom p0f (passive OS fingerprinting) fork is bundled and compiled from C source, demonstrating deep network-level analysis. The update and backup system (`update.sh`) is a robust, self-contained script that handles version pinning, configuration backups, Elasticsearch state exports, and image rollouts. The codebase includes a reusable test harness (`docker/_tests/lib/common.sh`) for validating individual honeypot containers with protocol-specific probes.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
nktnet1/rt-stack ★ 296 18 APPLICATION

This repository is a modern, lightweight full-stack application template built with Turborepo. It consists of two main apps: a React single-page application (Vite + TanStack Router/Query/Form) for the frontend, and a Hono (Node.js) server providing an oRPC-based API with OpenAPI (Scalar) documentation. Authentication is handled by better-auth (email/password) with PostgreSQL via Drizzle ORM. The system supports CRUD operations for posts, includes dark/light theme toggling, and is fully containerized with Docker. The architecture follows a modular monorepo structure with shared packages for API contracts (oRPC), authentication, database schema and client, UI components (shadcn/ui), and reusable tooling configurations (ESLint, Prettier, Tailwind CSS, TypeScript). The codebase demonstrates strong engineering practices: environment variable validation with valibot, type-safe API contracts with oRPC, session-based auth with CORS, and a robust monorepo setup with Turborepo caching and dependency management.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 6 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
s1t5/mail-archiver ★ 2089 84 APPLICATION

Mail-Archiver is a production-grade ASP.NET Core 10 web application for archiving emails from IMAP, Microsoft 365 (Graph), and local imports (MBOX, EML). It provides a full MVC UI for searching, viewing, exporting, restoring, and managing archived emails, alongside a read-only REST API (v1) and a Model Context Protocol (MCP) server for AI agent integration. The system features background job processing for sync, batch operations, deduplication, retention policies, and audit exports, all backed by PostgreSQL with full-text search. Authentication supports local password (PBKDF2), OpenID Connect, and API keys, with two-factor authentication and role-based access control. The codebase is well-structured with clear separation of concerns: provider-specific services (IMAP, Graph, Mbox), shared utilities, and a core service layer. Extensive unit and integration tests (xUnit) cover critical paths, and Docker Compose provides a reproducible test environment. While some technical debt exists (raw SQL in core services, in-memory job tracking, German comments in places), the overall architecture is solid and the reusable components (static helpers, deduplication strategies, background job patterns) demonstrate high craftsmanship.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 4 reusable components found
vndevteam/nestjs-boilerplate ★ 298 79 APPLICATION

This is a NestJS boilerplate for building RESTful APIs with TypeScript, PostgreSQL, TypeORM, and modern DevOps practices. The system provides a modular backend architecture with authentication (JWT), user management, post management, email verification via BullMQ queues, health checks, Swagger API documentation, and comprehensive testing setup. It follows NestJS best practices with clear separation of concerns across modules for auth, users, posts, health, and background jobs. Key features include cursor-based and offset-based pagination, internationalization (i18n), Redis caching, security headers via Helmet, and environment-based configuration management. The codebase demonstrates strong engineering practices with reusable utilities for password handling, configuration validation, and sophisticated cursor pagination that could be extracted to other projects with minimal modification.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
IAmStoxe/wirehole ★ 4971 342 APPLICATION

WireHole is a Docker Compose project that combines WireGuard, Pi-hole, and Unbound to create a private VPN with ad-blocking and recursive DNS resolution. It is not a software library but an infrastructure deployment template. The stack provides a VPN server, DNS filtering through Pi-hole, and private DNS resolution via Unbound, all running in containers. The project is designed for easy deployment on a Linux server, with a focus on security (e.g., web interfaces bound to localhost, minimal container capabilities, strong password generation). It supports two VPN backends: wg-easy (with a web UI) and linuxserver/wireguard (configuration-file based). The codebase consists of shell scripts for setup, migration, and diagnostics, along with CI/CD pipelines, test suites, and detailed documentation. The project demonstrates high operational maturity with comprehensive tests, pinning of image versions, and a doctor script for troubleshooting. While it is not a reusable software library, its scripts and configuration patterns are well-crafted and could serve as templates for similar Docker Compose deployments.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
benavlabs/FastAPI-boilerplate ★ 2071 306 APPLICATION

This repository is a production-grade FastAPI boilerplate (named 'Fastro') designed to accelerate building SaaS backends. It provides a complete, modular architecture with three layers: infrastructure (config, caching, rate limiting, auth, logging, database), interfaces (REST API, admin panel), and vertical-slice modules (user, tier, API keys, rate limits). The codebase is fully async, uses SQLAlchemy 2.0 with `MappedAsDataclass`, Pydantic v2, and FastCRUD for generic CRUD operations. Authentication is session-based via the external `crudauth` library, with server-side sessions, CSRF, OAuth (Google wired), and API key support. Caching and rate limiting follow a provider pattern with swappable Redis/Memcached backends. The repo also includes a CLI tool (`bp`) with plugin discovery for commands and features, a multi-stage Dockerfile, Alembic migrations, and extensive documentation (though some docs describe aspirational features not yet implemented). A paid fork (FastroAI) adds payments, email, and frontend, but the free boilerplate is self-contained and functional.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 6 reusable components found
mend/renovate-ce-ee ★ 314 88 APPLICATION

This repository provides deployment and configuration artifacts for Mend Renovate Self-Hosted, a commercial offering that wraps the open-source Renovate dependency update tool. It contains Helm charts for both Community and Enterprise editions, Docker Compose examples, environment variable references, TLS configuration templates, and OpenAPI specifications for the management API. The actual application code (server, worker, web UI) is distributed as pre-built Docker images and is not present in this repo. The system operates as a distributed job queue: a server schedules and enqueues dependency update jobs, workers execute Renovate CLI runs, and an optional web UI provides administrative dashboards. Enterprise features include worker queue isolation, Kafka event notifications, RBAC, and enhanced reporting (LibYears, pull request stats). The repository is well-documented with clear setup guides for GitHub, GitLab, and Bitbucket Data Center, and includes CI/CD workflows for linting and releasing Helm charts. While the repo contains no application source code, its deployment artifacts are professionally structured and follow best practices for extensibility (e.g., extra manifests, worker pool templates).

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
1Panel-dev/appstore ★ 310 445 APPLICATION

This repository is the official application store catalog for the 1Panel server management panel. It contains hundreds of versioned definitions for self-hosted software (databases, CMS, monitoring, AI tools, messaging, etc.), each packaged with a Docker Compose template, a structured data.yml metadata file defining installation form fields, and lifecycle scripts (init, upgrade, uninstall). The repository itself is not a running service; it is a curated, machine-readable configuration catalog consumed by the 1Panel platform to present one-click deployment options and manage application upgrades. The architecture follows a consistent pattern: apps/<name>/<version>/ with standardized docker-compose.yml files using external networks (1panel-network), PANEL_* environment variables, and labels createdBy: "Apps". The repo relies on external Docker images and the 1Panel runtime, and uses Renovate bots and CI workflows to track upstream version changes and enforce validation rules (e.g., OpenResty module catalog checks). It also bundles complex components like a WAF rule set for OpenResty and AI prompt templates for applications such as TrendRadar, showcasing cross-app reusability of configuration patterns.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
CszYihen/Yihen-Drama ★ 218 76 APPLICATION

This repository contains a full-stack application for AI-powered short drama generation. The system enables users to create drama projects, extract characters and scenes from text using AI models, generate consistent character and scene images, create storyboards, and produce final videos. It manages the entire lifecycle from text input to multimedia output, with real-time task tracking and asset management. The backend is built with Spring Boot (Java 17) and follows a layered architecture with controllers, services, decorators (for Redis caching), facades (for asynchronous persistence), and mappers (using MyBatis-Plus). The frontend is a Vue 3 + Vite application using the Composition API for state management and communicating with the backend via REST APIs and WebSocket for real-time updates. The system integrates multiple technologies: MySQL for primary data storage, Redis for caching, RabbitMQ for asynchronous task processing, MinIO for object storage, Elasticsearch for full-text search, and Qdrant for vector-based context retrieval in storyboard generation. Key architectural patterns include the Strategy pattern for swapping AI model providers, the Decorator pattern for adding cross-cutting concerns like caching, and the Facade pattern for decoupling asynchronous operations. Reusable components include utility classes for Redis, MinIO, and Qdrant operations, as well as Vue 3 composables for global loading state and model configuration. The application demonstrates strong engineering practices in handling complex AI workflows while maintaining modularity and extensibility.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
$ loading more...
$ submit: