Skip to content

fm-labs/kstack-agent

Repository files navigation

kstack-agent

Exposes a REST api for managing docker containers.

Quick Start

docker pull fmlabs/kstack-agent:latest
docker run -d \
  --name kstack-agent \
  --restart always \
  --privileged \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /var/lib/docker/volumes:/var/lib/docker/volumes:ro \
  -v kstack_agent_data:/app/data \
  -p 5000:5000 \
  fmlabs/kstack-agent:latest

If the docker base directory is different from /var/lib/docker, change the volume mount accordingly.

docker run -d \
  --name kstack-agent \
  --restart always \
  --privileged \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /var/lib/docker/volumes:/srv/docker/volumes:ro \
  -v kstack_agent_data:/app/data \
  -p 5000:5000 \
  fmlabs/kstack-agent:0.4.0
# Download docker_run.sh from github repository and invoke with bash
curl -s https://raw.githubusercontent.com/fm-labs/kstack-agent/main/docker_run.sh | bash

Development

Uses poetry for dependency management.

poetry install
export AGENT_DATA_DIR=./data
potry run python ./agent.py

The kstack-agent REST api server is served at http://localhost:5000/ by default.

Features

  • Containers

    • List containers
    • Start container
    • Pause container
    • Unpause container (Start)
    • Stop container
    • Restart container
    • Remove container
    • Inspect container
    • View logs
    • View logstream (websocket)
    • Execute command
    • Execute command in interactive shell (websocket)
  • Images

    • List images
    • Pull image
    • Remove image
    • Inspect image
  • Networks

    • List networks
    • Inspect network
  • Volumes

    • List volumes
    • Inspect volume
  • Compose Stacks

    • List compose stacks
      • List compose stacks from local filesystem
      • List compose stacks from container labels
      • List compose stacks from registered repositories
    • Inspect compose stack
    • Start compose stack (compose up)
    • Stop compose stack (compose stop)
    • Teardown compose stack (compose down)
    • Add compose stack
      • Add stack from compose file
      • Add stack from github repository
  • Secrets

    • List secrets
    • Inspect secret
    • Add secret
  • Swarm

    • List nodes
    • Inspect node
    • Join swarm
    • Leave swarm
  • Docker Engine

    • Info
    • Version
    • Disk usage
    • Events
    • Prune unused resources
  • Low-level docker command invocation

    • docker top
    • docker ps
    • docker run
    • docker logs
    • docker compose
    • docker system prune
  • Low-level docker command invocation via SSH

  • Blueprints

    • Container Blueprints

      • List templates from Kstack templates (json files hosted on github)
      • List templates from Portainer templates (json files hosted on github)
      • Launch container from template
      • Launch container from portainer template
    • Compose Blueprints

      • List compose templates from Kstack templates (json files hosted on github)
      • List user-defined compose templates
      • Add compose template
        • Compose file upload
        • Compose file url
        • GitHub repository with compose file

Useful links

Related projects:

About

Docker mgmt over HTTP

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •