A CLI tool for managing development dependencies as isolated Docker containers, enabling easy spin-up and tear-down of services like MySQL, Redis, and PostgreSQL.
Takeout is a command-line tool that spins up individual Docker containers for each development dependency, such as MySQL, Redis, and ElasticSearch. It solves the problem of managing and fixing system-wide dependency installations by providing isolated, containerized services that can be easily enabled or disabled.
Developers working on macOS, Linux, or WSL2 who want a simple, global way to manage development dependencies without per-project Docker Compose setups.
Developers choose Takeout for its simplicity in managing multiple versions of dependencies simultaneously, persistent data storage via Docker volumes, and elimination of system-level dependency conflicts.
Docker-based development-only dependency manager. macOS, Linux, and WSL2-only and installs via PHP's Composer... for now.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Each dependency runs in an isolated Docker container, preventing system-wide conflicts and simplifying cleanup, as emphasized in the key features.
Supports running multiple versions of the same service simultaneously on different ports, exemplified by MySQL 5.7 and 8.0 running together.
Utilizes Docker volumes to ensure data persists across container lifecycles, so disabling services doesn't delete databases, as noted in the FAQs.
Offers simple commands like `takeout enable mysql` for easy management without memorizing complex Docker syntax, highlighted in the usage section.
Automatically adds containers to a 'takeout' network with aliases, facilitating inter-service communication as described in the network details.
Initial setup requires adding shell aliases and ensuring Docker is configured, which can be cumbersome for users not familiar with terminal customization.
Only supports services predefined in the project's source code; adding new services requires modifying the codebase, limiting flexibility.
As acknowledged in the FAQs, Takeout does not handle PHP drivers via PECL, leaving developers to manage extensions separately.
Lacks a graphical interface, which might deter users who prefer visual tools, though a GUI is planned for the future.