Skip to content

Cablebag 0.20.0

Choose a tag to compare

@maferick maferick released this 24 Oct 13:05
· 39 commits to main since this release

Stacks, templates and moving them between servers

  • A calmer Containers tab. On the left a short list: each container on one line with a dot, and how long it
    runs, or what is wrong ("23 restarts", "unhealthy", "stopped"). Projects with more than one container group
    their containers under the project's name. Click a container (or walk the list with the arrow keys) for its
    details on the right: image, web ports to open, its project and compose file, and buttons that say what they
    do (Logs, Shell, Restart, Stop). Needs a look and Stopped show only those.
  • Stacks of your own. New stack writes a compose file (and an optional .env) to ~/stacks/<name> on the
    server, readable only by your login, and starts it. A stack is never overwritten. Remove stack takes its
    containers away and keeps its volumes and files; stacks in ~/stacks without containers show under Not
    running
    , where Apply the compose file starts them again.
  • Templates. Start a new stack from a template: its {{blanks}} (as in macros) are asked when you use it,
    and fields named like a password hide what you type. Save as template works on any project, also one made
    in Portainer, and on a container started without Compose (Cablebag writes the compose file for it). Values of
    settings that look secret (passwords, tokens, keys) become blanks, so a template never holds them. Templates
    travel with Sync.
  • Ask the assistant about a container: it gets the state, where the container comes from and its last 100
    log lines, and the button asks the right question when something is wrong ("Why does it keep restarting?").
  • The Portainer button at the top is gone; stacks made in Portainer keep Open in Portainer.
  • Move a stack to another server. Check the move first: every folder the stack uses is looked up on the
    shared storage (NFS or SMB), so a NAS folder mounted under another name or at another depth on the other
    server is found, and on the NAS itself the folder is local. The check also names folders and Docker volumes
    that are only on this server, ports already in use there, container names, missing networks, a different
    processor, private registries the other server is not logged in to, devices and host networking; images are
    pinned to the exact versions running now. Then Move stops it here (never both on the same data at once),
    starts it there, waits until it is healthy, and goes back by itself when it is not. Every move is kept in a
    list. The other server's Containers tab has to be open.
  • Docker through sudo with your password, on a server where the login may not use Docker (a NAS): the
    password comes from the session's vault login or is asked once per tab.