Secure FastAPI local companion agent for DockTer
Project description
🐳 DockTer Companion Agent
A secure, lightweight local companion agent built with FastAPI to enable one-click Docker container orchestration and live log streaming directly from your DockTer client.
🚀 Features
- One-Click Local Deployment: Extracts generated files, constructs an isolated workspace, and spins up your services using
docker compose up --build -d. - Live Logs Console: Streams real-time container log stdout/stderr via Server-Sent Events (SSE).
- Subprocess Command Compatibility: Dynamically resolves modern
docker composeor legacy standalonedocker-composesetups. - Strict Security Architecture: Implements locked-down CORS configurations to prevent unauthorized web contexts from executing arbitrary commands or accessing the Docker daemon.
🛠️ Installation
You can install the companion agent locally in editable mode for development, or install it directly using standard Python packaging:
# Clone the repository and navigate to the agent folder
cd agent
# Install in editable mode
pip install -e .
Alternatively, you can run it directly using uvx or pipx (recommended):
uvx --from dockter-agent dockter-agent start
💻 CLI Usage
Once installed, the CLI tool exposes a standard set of commands:
# Start the companion agent on the default port (8001)
dockter-agent start
# Start the companion agent on a custom port
dockter-agent start --port 8002
🔒 Security Architecture
To protect your system, the agent enforces the following constraints:
- Confined CORS Limits: Cross-Origin Resource Sharing (CORS) is explicitly restricted to local origins (
http://localhost:5173) and the official production domain (https://dockter.dev). External, untrusted sites are completely blocked from calling the API. - Local Loopback Only: The Uvicorn server is bound strictly to
127.0.0.1(localhost), preventing remote machines on the local network or public internet from accessing the endpoints. - Workspace Isolation: Projects are built and orchestrated inside designated, isolated subdirectories (
dockter-{project_name}) in the directory where the agent is launched.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dockter_agent-1.0.0.tar.gz.
File metadata
- Download URL: dockter_agent-1.0.0.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
099685ecfbc844b1262afb86de14e71d403e35c148b29953caa04b186ec6aa15
|
|
| MD5 |
1a850e11a974af4e8b7e6f2d17f0c13e
|
|
| BLAKE2b-256 |
65863dce934d341d3e9a7454cd7ec157a5a195ee994ff6cef2d93903fc327092
|
File details
Details for the file dockter_agent-1.0.0-py3-none-any.whl.
File metadata
- Download URL: dockter_agent-1.0.0-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9a12f40846eb044277f7f831f1ad9cbbbdebeb7366027f2aa7fbf74d13a8805
|
|
| MD5 |
968edd1e0fb008a6ec8651235479f933
|
|
| BLAKE2b-256 |
87ecbd86ea804f7d1e7868fe8c3b5fb4ec7bc7c1a6fa57ec90afcc94384bfe47
|