Skip to main content

A remote terminal API.

Project description

⚡ Open Terminal

A lightweight API for running shell commands remotely — designed for AI agents and automation.

The container ships with a full toolkit (Python, git, jq, curl, build tools, and more) and runs as a non-root user with passwordless sudo.

Getting Started

Docker (recommended)

docker run -d --name open-terminal --restart unless-stopped -p 8000:8000 -v open-terminal:/home/user -e OPEN_TERMINAL_API_KEY=your-secret-key ghcr.io/open-webui/open-terminal

If no API key is provided, one is auto-generated and printed on startup (docker logs open-terminal).

Build from Source

docker build -t open-terminal .
docker run -p 8000:8000 open-terminal

Bare Metal

pip install open-terminal
open-terminal run --host 0.0.0.0 --port 8000 --api-key your-secret-key

Quick Examples

Run a command:

curl -X POST http://localhost:8000/execute?wait=5 \
  -H "Authorization: Bearer <api-key>" \
  -H "Content-Type: application/json" \
  -d '{"command": "echo hello"}'

Upload a file:

curl -X POST "http://localhost:8000/files/upload?directory=/home/user&url=https://example.com/data.csv" \
  -H "Authorization: Bearer <api-key>"

API Docs

Full interactive API documentation is available at http://localhost:8000/docs.

License

MIT — see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

open_terminal-0.2.0.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

open_terminal-0.2.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file open_terminal-0.2.0.tar.gz.

File metadata

  • Download URL: open_terminal-0.2.0.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.0

File hashes

Hashes for open_terminal-0.2.0.tar.gz
Algorithm Hash digest
SHA256 924a1d9b2c6d802f0cf09a55db64823f58bc6afc0b36b47ea1fc36c553e4a19f
MD5 bfc3aa0aa068a1c26dd9eb47cdccb6a3
BLAKE2b-256 c0ef21c211532cf9f86fdc9a2856251f02276a3ace1c1525c9b362d98f593d1f

See more details on using hashes here.

File details

Details for the file open_terminal-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for open_terminal-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 946fe28cb15f50073670e0f0ebef1a6dee890c480288f432629bc35bf400e662
MD5 4d1062cf6ab7153fa8d59d02e805380a
BLAKE2b-256 bf70f5d4ccd77830bfe4022baeefe8198ad548c0520564cc24efb15eae8614f0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page