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.3.tar.gz (13.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.3-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for open_terminal-0.2.3.tar.gz
Algorithm Hash digest
SHA256 d00b8e9478e58040fd811888d09738201dc31c3eb7876de6df8cb76d8a61ea79
MD5 a7f599bbdc45a4f64891672a8acd25c6
BLAKE2b-256 2f7e085185ffaee8f70a2454768e3f3bd5cfabfeeb40749278caadb0d8e0e4fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for open_terminal-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 067556265ff116b797671eb10b7eeb9a129dddf07a4ea7d3796bd363cbd1b52e
MD5 17b828484f933374a6d59a27251cb7ec
BLAKE2b-256 c1297edcdf9aa5260cbfc65df211664c54ae9d86de03dd7a523dd8f850052115

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