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.4.tar.gz (14.3 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.4-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for open_terminal-0.2.4.tar.gz
Algorithm Hash digest
SHA256 35f8b36f01f746d0cb0c7751528d935cb530df32b13c95bbc155630d9c781c77
MD5 7f5f5187dd1005680923fdee8f07b417
BLAKE2b-256 2f0a9f1a6010827cb958c8590e38737e5eaf69bceb98097e147d2c1710243c30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for open_terminal-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 aea0adce8b0f9aea26c5af6b52656b02553e149a1b95f6959d0b0f763552b4d0
MD5 a6e0710346d8559ec178cd6859e883e9
BLAKE2b-256 eb97a731064d1d845ad7947e45dcded8efa064c5d6fc7735efc5145f302c3200

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