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

# One-liner with uvx (no install needed)
uvx open-terminal run --host 0.0.0.0 --port 8000 --api-key your-secret-key

# Or install globally with pip
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.6.tar.gz (15.9 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.6-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for open_terminal-0.2.6.tar.gz
Algorithm Hash digest
SHA256 32e5c661367687f4b57201c49b6ef8c8461a8ccb9a4ba9dc912f2fdd62fd4b65
MD5 fdaf8aaf391f2d226d37e4db2097b512
BLAKE2b-256 e7d883dbd14262a475047971c3a82ede44dd02f5ff02c243e6e9a26696bf4c0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for open_terminal-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 717ec8d1106b4d389613f7c890b5de7b1c57d7dd6536d64d7711dd69010f1de1
MD5 584718d0fd6eb843c63b41a4e2a58833
BLAKE2b-256 e04d45ce0e82ad497d5f96465bec3157b14249f55108989ae40b96f523b8f569

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