This repository provides an automated installer for Docker Engine and Docker Compose on Ubuntu and other Linux distributions. It includes:
docker_installer.py— interactive Python installer that supports local and remote installs over SSH, optional virtualenv setup, and progress streaming.install_docker.sh— a POSIX shell wrapper that bootstraps Python, installs requirements, and can either drive the Python installer remotely or copy the repository to the remote host and run the installer there.requirements.txt— Python dependencies (paramiko,rich).
There are two main ways to use the tooling in this repo:
-
Use the shell wrapper (recommended for convenience):
- Ensures your control machine has Python and required packages.
- Prompts whether to perform a local or remote install.
- Supports remote bootstrap (installs Python on remote if missing), SCP+remote-exec mode, and non-interactive flags.
-
Use the Python installer directly:
- Gives more fine-grained control and scripting flags for automation (
--remote-host,--ssh-user,--compose-version,--create-venv, etc.).
- Gives more fine-grained control and scripting flags for automation (
You can preview the actions the installer will take without making any changes by using the --dry-run flag. This is supported both when invoking the Python installer directly and via the wrapper script.
- Run the Python installer in dry-run mode (prints planned commands):
python3 docker_installer.py --dry-run- Run the wrapper in dry-run mode (prints wrapper actions and forwards
--dry-runto the installer):
./install_docker.sh --dry-runWhen using the wrapper's copy-and-run remote flow, --dry-run will prevent creating and uploading the repository archive and will instead print the commands that would have been executed on the remote host.
Placeholder UI screenshots are included under screens/ to show the expected prompts and progress UI. Replace them with real captures when convenient:
