Skip to content

TUI based docker object's storage manager utility, Transfer files form container to container, container to volume, volume to volume etc... just by clicking arrows (OH! I forgot backup and edit via selection and so on..)

Notifications You must be signed in to change notification settings

hackctl/dstroman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Screenshot 2025-04-29 at 2 20 30 AM

A CLI + TUI for managing Docker objects with the file system. Perform day-to-day tasks and troubleshooting with ease no copy-pasting IDs or running command sprees, just arrows and coffee to get the work done.


Key Features

  • File transfer between host, container, volume, and bind mounts
  • Open any file/directory from host, container, volume, or bind mounts with simple arrow navigation, in your desired console-based editor
  • Take backups of host, container, volume, bind mounts, and their files with ease

Dependencies & Supported Platforms


DEMO

transfer.mov

Installation

Copy and paste the command below after installing the dependencies(gum, docker cli) (The command requires curl)

sudo curl -fsSL https://raw.githubusercontent.com/hackctl/dstroman/refs/heads/legacy/dstroman -o /usr/local/bin/dstroman && sudo chmod +x /usr/local/bin/dstroman && (sudo groupadd docker 2>/dev/null || true) && (sudo gpasswd --add "$USER" docker 2>/dev/null || true)



Usage

Configure the editor for dstroman

  • By default, dstroman does not use any console-based text editor; it simply echoes the path that the open_editor() function gets.
  • To configure it with your desired editor, edit the file ~/.config/dstroman/editor and input the command that accepts a file path as the first argument.
  • Make sure the editor command is available for the root user as well.

Example:

  • If you want to open files in neovim (assuming neovim is installed), the entry in ~/.config/dstroman/editor would be neovim.
  • If you want to open files in vim, the entry would be vim.

Docker Requirements

  • You must have access to Docker without requiring a password. You can achieve this by creating a group named docker and adding your user to it.
  • The Docker daemon must be running before use.

Gum Usage Notes

  • Press Enter to select (if the current highlight is a directory, it will open the directory; if it's a file, it will select the file).
  • Use arrow keys to navigate (note: bind mount paths are not navigable because they are not part of the container's writable layer — binds are listed separately for navigation).
  • Press Esc whenever you need to abort an action.

Other

  • Backups can be found at ~/.config/dstroman/backups/
  • Editor config can be found at ~/.config/dstroman/editor

Options

For navigateing objects and their files

dstroman --navigate

For moving copying file inbetween objects

dstroman --transfer

To list backups

dstroman --list-backups

For creating backup

dstroman --create-backup

For removing backup

dstroman --remove-backup

hackctl

About

TUI based docker object's storage manager utility, Transfer files form container to container, container to volume, volume to volume etc... just by clicking arrows (OH! I forgot backup and edit via selection and so on..)

Topics

Resources

Stars

Watchers

Forks

Languages