https://github.com/fm-labs/kontainer-core
Manage multiple remote Docker daemons from a single API.
https://github.com/fm-labs/kontainer-core
containers deployment deployment-automation docker
Last synced: 9 months ago
JSON representation
Manage multiple remote Docker daemons from a single API.
- Host: GitHub
- URL: https://github.com/fm-labs/kontainer-core
- Owner: fm-labs
- Created: 2023-10-12T12:57:05.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-30T14:05:46.000Z (10 months ago)
- Last Synced: 2025-06-02T00:58:16.798Z (10 months ago)
- Topics: containers, deployment, deployment-automation, docker
- Language: Python
- Homepage:
- Size: 726 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# kontainer-core
Exposes a REST api for managing multiple docker daemons.
## Quick Start
```bash
docker pull fmlabs/kontainer-core:latest
```
```bash
docker run -d \
--name kontainer \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /var/lib/docker/volumes:/var/lib/docker/volumes:ro \
-v kontainer_data:/app/data \
-p 5000:5000 \
fmlabs/kontainer-core:latest
```
```bash
# Download docker_run.sh from github repository and invoke with bash
curl -s https://raw.githubusercontent.com/fm-labs/kontainer-core/main/docker_run.sh | bash
```
## Development
Uses [poetry](https://python-poetry.org/) for dependency management.
```bash
poetry install
export KONTAINER_DATA_DIR=./data
peotry run python ./main.py
```
The kontainer REST api server is served at `http://localhost:5000/` by default.
## Features
- [ ] Containers
- [x] List containers
- [x] Start container
- [x] Pause container
- [x] Unpause container (Start)
- [x] Stop container
- [x] Restart container
- [x] Remove container
- [x] Inspect container
- [x] View logs
- [ ] View logstream (websocket)
- [x] Execute command
- [ ] Execute command in interactive shell (websocket)
- [ ] Images
- [x] List images
- [ ] Pull image
- [x] Remove image
- [ ] Inspect image
- [ ] Networks
- [x] List networks
- [ ] Inspect network
- [x] Volumes
- [x] List volumes
- [ ] Inspect volume
- [ ] Compose Stacks
- [ ] List compose stacks
- [x] List compose stacks from local filesystem
- [x] List compose stacks from container labels
- [ ] List compose stacks from registered repositories
- [ ] Inspect compose stack
- [x] Start compose stack (compose up)
- [x] Stop compose stack (compose stop)
- [x] Teardown compose stack (compose down)
- [x] Add compose stack
- [x] Add stack from compose file
- [x] Add stack from github repository
- [ ] Secrets
- [ ] List secrets
- [ ] Inspect secret
- [ ] Add secret
- [ ] Swarm
- [ ] List nodes
- [ ] Inspect node
- [ ] Join swarm
- [ ] Leave swarm
- [ ] Docker Engine
- [x] Info
- [x] Version
- [x] Disk usage
- [x] 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
- [x] List templates from Kstack templates (json files hosted on github)
- [x] List templates from Portainer templates (json files hosted on github)
- [x] Launch container from template
- [ ] Launch container from portainer template
- [ ] Compose Blueprints
- [x] List compose templates from Kstack templates (json files hosted on github)
- [ ] List user-defined compose templates
- [x] Add compose template
- [x] Compose file upload
- [x] Compose file url
- [x] GitHub repository with compose file
## Useful links
- [Docker Reference](https://docs.docker.com/reference/)
- [Docker SDK for Python](https://docker-py.readthedocs.io/en/stable/)
- [Docker SDK for Python API Reference](https://docker-py.readthedocs.io/en/stable/api.html)
**Related projects:**
- [kontainer](https://github.com/fm-labs/kontainer-ui) - Full kontainer stack with web UI
- [kontainer-ui](https://github.com/fm-labs/kontainer-ui) - The Web GUI for kontainer