30 open-source projects similar to jwilder/dockerize, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Dockerize alternative.
Phusion/baseimage-docker is a minimal Ubuntu-based Docker base image that includes a proper init system for managing multiple services and processes inside a single container. It provides a lightweight init process that reaps zombie processes, forwards stop signals for graceful shutdown, and supervises daemons through runit, restarting them automatically if they crash. The image includes a preconfigured OpenSSH server restricted to public-key authentication for secure shell access to running containers, along with a cron daemon for scheduling recurring tasks. It supports ordered startup scrip
Consul Template is a configuration renderer and dynamic configuration manager that generates files by populating templates with data from Consul and Vault. It functions as a service discovery template engine and secrets management integrator, transforming cluster catalog and health data into formatted configuration files. The tool distinguishes itself by acting as a process supervisor and notifier, capable of executing shell commands or restarting applications automatically after templates are updated. It features a long-polling watcher to monitor remote key-value stores and employs a shared
Tini is a lightweight process management tool designed to act as the entrypoint for OCI compliant containers. It functions as a minimal init process that manages the lifecycle of a primary child process, preventing the root process from ignoring critical termination signals. The project focuses on signal proxying and zombie process reaping. It forwards system signals from the container runtime to child processes and process groups to ensure graceful shutdowns. Additionally, it automatically collects terminated child processes to prevent the process table from filling with defunct entries. Ti
Packer is a machine image builder and multi-platform image orchestrator used to create identical virtual machine images for multiple platforms from a single source configuration. It functions as an infrastructure as code tool, utilizing the HashiCorp Configuration Language to define versioned and reproducible templates for cloud image provisioners. The tool is distinguished by its plugin-based extension model, which allows it to load external binaries for builders and provisioners to support various cloud platforms and virtualization environments. It includes a post-processor pipeline to tran
Dockly is a terminal user interface for managing Docker containers and services through an interactive menu. It functions as a log streamer, a swarm orchestration tool, and a client for managing external container environments. The project allows users to connect to remote Docker daemons via sockets or network ports. It includes the ability to toggle between local container mode and swarm cluster mode to monitor and control services across multiple nodes. The tool provides real-time log streaming in a scrollable interface and supports launching interactive shell sessions directly into runnin
RoadRunner is a high-performance application server and process manager designed to serve PHP applications using a persistent worker model. It eliminates bootload overhead and initialization time by keeping application processes alive between requests, acting as a protocol-agnostic proxy that routes traffic to a pool of supervised workers. The server is built with a plugin-based modular architecture, allowing it to be extended with custom Go plugins and compiled into tailored binaries. It distinguishes itself by providing a unified execution model for a wide array of communication protocols,
Supervisor is a process control system for Unix environments that ensures background processes remain running by automatically restarting them if they crash or exit. It functions as a daemon manager that provides a centralized way to start, stop, and monitor the lifecycle of long-running background tasks. The system utilizes a client-server architecture to control multiple processes through a command line interface. This allows for the orchestration of system services and background daemon control without requiring manual shell intervention. The tool covers application process supervision an
gosu is a Go-based user identity switcher and process wrapper designed to execute commands under a specific user and group identity. It functions as a lightweight binary for switching user identities and forwarding signals before executing a target process. The tool focuses on container entrypoint optimization and user management within Docker containers. It enables the execution of processes as non-root users while ensuring that operating system signals reach the child process and the target command is established as the primary process. The utility manages Linux process identity switching
python-dotenv is a library and command line interface for managing environment variables in Python applications. It functions as a configuration parser and loader that reads key-value pairs from files and injects them into the system environment, enabling the decoupling of application configuration from source code. The project provides a command line interface for manipulating and editing environment variables within configuration files. It also includes a mechanism for recursive variable interpolation, allowing dynamic placeholders within configuration files to be resolved using existing en
CS-Xmind-Note is a collection of structured mind maps and conceptual diagrams serving as a comprehensive knowledge base for computer science fundamentals. It functions as an academic reference and study guide, organizing core subjects into a visual mapping of interdependent technical concepts. The project utilizes an XMind-compatible schema to model complex domains through hierarchical nodes and relational concept mapping. This approach allows for the visual representation of technical layers, linking hardware specifications to software abstractions. The knowledge base covers several primary
Tmuxinator is a configuration-driven session manager and workspace automation tool for tmux. It acts as a terminal multiplexer orchestrator that translates structured project definitions into shell commands to define and launch complex window and pane layouts. The project distinguishes itself through declarative configuration and lifecycle management. It utilizes YAML-based mapping and template-based variable injection to create reusable session configurations, while providing hook-based execution to trigger custom scripts during startup, restart, or shutdown. Its broader capabilities includ
testcontainers-go is a Docker integration testing library for Go designed to provision and manage disposable containerized infrastructure. It functions as a container lifecycle manager and ephemeral infrastructure provisioner, allowing developers to programmatically create, start, and destroy containers as dependencies for automated integration tests. The library acts as a Docker network orchestrator by mapping container ports to random host ports and resolving network endpoints for test clients. This capability enables parallel test execution by preventing network collisions and ensures that
Tableflip is a zero-downtime restart library and system utility designed to transfer network sockets and open file descriptors between process instances. It serves as a process lifecycle manager that coordinates the handoff of TCP, UDP, and Unix domain sockets from a parent process to a child process to maintain active sessions during service upgrades. The tool facilitates seamless restarts by utilizing file-based process ID tracking and system signals to trigger the spawning of new process instances. It ensures continuous service availability by handing over network listeners and using readi
dumb-init is a lightweight process supervisor and minimal init system designed to run as the primary process in a Linux container. It functions as a manager for the first process in a namespace, specifically handling the responsibilities of a Linux init system. The project focuses on signal proxying and the reclamation of zombie processes. It captures incoming system signals and relays or translates them to child process groups to ensure graceful application shutdown and termination. It manages the lifecycle of spawned applications by monitoring child processes and collecting terminated ones
Passenger is a multitenant web server and dynamic process manager designed to host and manage web applications written in Ruby, Python, and Node.js. It functions as an application server that handles process and resource management, ensuring that multiple independent applications can run on a single server instance. The project distinguishes itself through a flexible deployment model, capable of operating as a self-contained standalone web server or as an integration module for existing high-performance external web servers. It employs a language-agnostic interface to provide polyglot hosting
Akka.NET is an actor model framework used for building concurrent and distributed applications. It functions as a distributed computing platform and state manager that enables isolated actors to communicate via asynchronous message passing, ensuring thread-safe state management without manual locks. The project is distinguished by its decentralized coordination capabilities, including a distributed state manager that uses sharding and dynamic rebalancing to maintain high availability. It incorporates an event sourcing engine that persists state as a sequence of events in an append-only log an
Rocky is an open-source enterprise operating system designed for server and cloud infrastructure. It is a community-maintained Linux server distribution that provides a platform focused on stability and security. The project is fundamentally a Red Hat Enterprise Linux compatible operating system, maintaining bug-for-bug binary compatibility to ensure identical software behavior. This allows it to serve as an enterprise-grade platform without proprietary licensing. The distribution covers a broad range of system administration capabilities, including package management via modular repository
Overmind is a process manager for starting and monitoring multiple background processes defined in a Procfile. It functions as an interactive process controller that allows users to attach terminals to running processes for direct input and control. The project differentiates itself through its integration with a terminal multiplexer to organize process outputs into separate windows and its ability to act as a remote process manager via a network-capable controller. It supports a daemonized execution mode to maintain process execution in the background while providing separate interfaces for
Akka is an actor model framework and distributed systems platform used to build concurrent and distributed applications. It provides a toolkit for managing multi-threaded state and behavior through asynchronous message passing, allowing developers to create concurrent applications without manual locks or synchronization. The system functions as a cluster management and event sourcing framework, automating the scaling and coordination of high-availability clusters. It enables the deployment of elastic services that coordinate workloads across multiple network nodes and ensures fault tolerance
Node.js is an open-source, cross-platform JavaScript runtime environment built on the V8 engine, designed for executing JavaScript code outside a web browser. It operates as a server-side JavaScript platform with an event-driven, non-blocking I/O architecture that enables building scalable network applications and web servers. The runtime integrates the CommonJS module system for synchronous module loading and the npm ecosystem for sharing and reusing packages. The platform provides comprehensive capabilities for web server development, including creating HTTP and HTTPS servers, managing HTTP
s6-overlay is a container init system and process orchestrator. It provides a specialized script environment and a process supervisor to coordinate boot sequences, manage background daemons, and handle read-only filesystems within containers. The project distinguishes itself by using an execline shell environment to avoid the overhead of traditional shell interpreters. It includes a dedicated manager to redirect write operations to temporary memory mounts for containers with read-only root filesystems. The system covers service lifecycle orchestration, including dependency-based startup and
GoogleTranslateIpCheck is a network connectivity checker and scanner designed to detect which Google Translate server IP addresses are accessible from a specific network location. It functions as a Google services availability tool to identify remote IP endpoints that are not blocked within a local network. The tool scans and verifies reachable Google Translate IP addresses to identify available proxy or translation gateways. This process involves testing network connectivity to determine which external endpoints remain open despite local firewall restrictions. The system covers network anal
Devenv is a Nix-based development environment manager that provides declarative definitions for reproducible shells and toolchains. It functions as a declarative task runner for executing dependency-aware pipelines and a service orchestration tool for supervising background processes. The project distinguishes itself by generating OCI container images directly from environment definitions without requiring a separate container engine. It also implements the Model Context Protocol to expose project context and package search to AI agents, and supports AI-assisted scaffolding to generate config
This framework is a distributed systems runtime designed for building fault-tolerant, message-driven microservices and high-performance network applications in PHP. It provides an asynchronous execution environment that utilizes event-loop-based concurrency and promise-based task orchestration to manage high-concurrency workloads without blocking execution threads. The platform distinguishes itself through a unified execution abstraction that manages multi-process and multi-threaded components as isolated, supervised containers. By employing an actor-model approach to process supervision, the
This library is a PHP environment variable loader and configuration parser. It extracts key-value pairs from local text files to populate global server and system environment arrays, ensuring that sensitive credentials and application settings remain separate from the source code. The tool implements twelve-factor app configuration principles by mapping local files to process-level variables. It utilizes a regex-based parser to identify variable assignments while stripping comments and whitespace, and it includes guards to prevent local configuration files from overwriting existing host-level
sh is a Python process management library that provides programmatic wrappers and interfaces for controlling Unix system commands and child process lifecycles. It functions as an asynchronous process wrapper, allowing shell commands and system programs to run within a non-blocking event loop. The library maps command-line arguments and standard input/output streams to native Python functions and objects. It includes a process lifecycle controller to manage signal groups, execution timeouts, and process permissions for spawned child processes. The project provides capabilities for executable
Runtipi is a home server dashboard and orchestration tool designed for deploying and managing containerized applications. It provides a web-based interface for discovering and installing software from a curated app store, utilizing a Docker Compose orchestrator to handle the deployment of self-hosted services. The system integrates a reverse proxy and SSL manager to route external traffic to internal containers, automating HTTPS certificate renewal and domain assignment. It also features a built-in backup and update manager that uses cron-based scheduling to perform automatic security patchin
htop is a terminal-based system resource monitor and interactive process viewer. It functions as a text-user interface dashboard for overseeing hardware temperatures, load averages, and battery status while providing a comprehensive tool for monitoring and managing system processes. The application distinguishes itself through detailed process lifecycle management, allowing users to kill processes, adjust priorities via renicing, and assign CPU affinity to specific cores. It provides high-level visibility into system behavior through process hierarchy visualization and the ability to inspect
Elixir is a functional, concurrent programming language designed for building scalable and maintainable applications. It operates on the Erlang virtual machine, leveraging a distributed, fault-tolerant runtime environment that manages lightweight processes to ensure system reliability. By utilizing an actor-model supervision strategy, the language enables the creation of high-concurrency backend systems that automatically recover from failures and maintain stability under heavy loads. The language distinguishes itself through a powerful metaprogramming environment that allows developers to ex
Stern is a Kubernetes command-line debugging tool and log aggregator designed for streaming and filtering logs from multiple pods and containers. It functions as a log tailing utility that consolidates real-time data from distributed resources into a single, color-coded output. The tool uses regular expressions to select pods and filter log content, allowing for the isolation of specific system events. It automatically tracks the lifecycle of resources, using a watch mechanism to attach to new pods that match filter criteria and removing deleted ones from the active view. Capabilities includ