◈ ProjView
← todos os projetos

dockview

Python TUIs ★ destaque GitHub ↗

TUI visual para Docker (Textual) com abas para todos os tipos de recurso.

5 testes · 5 passou · 0 falhou · 0 skip

Entrypoints (CLI)

Módulos e funções principais

src/dockview/__init__.py
  • main()
src/dockview/cli.py
  • main()
src/dockview/dockerlib.py
  • client() — Retorna um cliente Docker, criado uma vez (lazy).
  • list_containers() — Lista containers como dicts enxutos pra tabela.
  • list_images()
  • start()
  • stop()
  • restart()
  • remove_container()
  • remove_image()
src/dockview/labs.py
  • discover() — Lista os labs (pastas com docker-compose.yml) em ~/labs.
  • status() — Preenche running/total de cada lab (consulta Docker uma vez).
  • up() — Sobe o lab (docker compose up -d). Retorna saída resumida.
  • down() — Derruba o lab (docker compose down). Retorna saída resumida.
src/dockview/theme.py
  • whale_lines()
  • banner_title()
src/dockview/tui.py
  • run()

Estrutura de arquivos

README

# dockview TUI visual e simples para Docker no Arch Linux (e qualquer distro Linux/macOS). Uma baleia azul cuida dos seus containers pra você — sem decorar flags do `docker`. ## Por que Rodar Docker puro no terminal é funcional, mas feio e fácil de errar (`docker rm` sem querer, `docker ps` lotado de colunas). O dockview traz: - 🐳 baleia ASCII azul na tela inicial - **abas para cada tipo de recurso Docker**, tudo num lugar só: - Containers · Imagens · Redes · Volumes · Plugins - Compose · Swarm · Services · Stacks · Buildx (BuildKit) - Labs (descobre `~/labs/*/docker-compose.yml` e sobe/derruba) - ações por teclado: start / stop / restart / remove / logs - painel de laboratórios que sobe e derruba seus compose locais - visualizador de logs em tempo real - navegação 100% no teclado, com cores azuis calmas ## Instalação ### Opção A — script automático (recomendado) ```bash # já clonou? rode dentro da pasta: ./install.sh # ou deixe o script clonar pra você: ./install.sh https://github.com/Diogo-Damasceno/dockview.git ``` O script cria um `.venv`, instala o pacote em modo editável e cria o atalho `~/.local/bin/dockview`. ### Opção B — manual Pré-requisitos: - Python 3.11+ - Docker instalado e daemon rodando (`docker info` sem erro) - seu usuário no grupo `docker` (ou rode com `sudo`) ```bash git clone https://github.com/Diogo-Damasceno/dockview.git cd dockview python3 -m venv .venv . .venv/bin/activate pip install -e . # atalho opcional mkdir -p ~/.local/bin ln -sf "$(pwd)/.venv/bin/dockview" ~/.local/bin/dockview ``` ## Como rodar ```bash dockview # se ~/.local/bin estiver no PATH # ou, dentro do venv: .venv/bin/dockview ``` ## Atalhos | Tecla | Ação | |-------------|-----------------------------------| | `tab` | próxima aba | | `shift+tab` | aba anterior | | `enter` | entrar (tela da baleia) / confirmar | | `s` | start container / up lab | | `x` | stop container / down lab | | `r` | restart container | | `d` | remove (container/imagem/volume) | | `l` | ver logs do container | | `q` | voltar / sair | ## Testando sem bagunçar nada O dockview **só lê** o Docker por padrão — nenhuma ação destrutiva acontece sem você apertar uma tecla de ação. Pra testar com segurança: ```bash # 1) rode e navegue pelas abas (Containers, Imagens, Redes, ...) dockview # 2) crie um container efêmero e veja aparecer na aba Containers: docker run --rm -d --name dockview-test alpine sleep 3600 # 3) no dockview: selecione "dockview-test" e aperte 'x' (stop) ou 'd' (remove) # 4) limpe: docker rm -f dockview-test ``` ### Labs (opcional) Se você tem uma pasta `~/labs` com `docker-compose.yml`, a aba **Labs** lista cada um, mostra se está rodando e sobe/derruba com `s`/`x`. Exemplo de `~/labs/mini/docker-compose.yml`: ```yaml services: hello: image: alpine command: sleep 3600 ``` Depois é só abrir o dockview e usar `s` na linha do lab. ## Requisitos - Docker instalado e daemon rodando (`docker info` sem erro) - Python 3.11+ - Linux (Arch testado); roda em qualquer distro/macOS com Docker ## Aviso ético Ferramenta de uso pessoal/educacional para gerenciar seus próprios containers. Remoção de containers/imagens/volumes é **irreversível** — confirme sempre antes de apertar Enter. Não use para gerenciar sistemas que não são seus sem autorização. ## Licença MIT — veja `LICENSE`.
dockview SIM NÃO SIM NÃO Abrir dockview Tela da baleia (ENTER) Aba selecionada? Consultar recurso Docker Renderizar tabela na aba Tecla de ação (s/x/d/l)? start/stop/remove/log via docker SDK Painel atualizado

Como rodar na prática (entrada → saída):

$ dockview
  (tela da baleia)
  ENTER -> abre painel
  setas: navega abas (Containers/Imagens/.../Labs)
  s/x/d/l: start/stop/rm/log