No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
agent 2046f159c9 Add openterminal podman deployment role
Rootless podman deployment of ghcr.io/open-webui/open-terminal via the
shared deployment role: pasta networking, configurable api key, image
variant, multi-user workspace path, and OPEN_TERMINAL_* passthrough via
openterminal_deploy_env.

Agent: pi
2026-10-09 06:36:34 +00:00
defaults Add openterminal podman deployment role 2026-10-09 06:36:34 +00:00
meta Add openterminal podman deployment role 2026-10-09 06:36:34 +00:00
tasks Add openterminal podman deployment role 2026-10-09 06:36:34 +00:00
.gitignore update 2026-09-26 18:44:25 +00:00
LICENSE update 2026-09-26 18:44:25 +00:00
README.md Add openterminal podman deployment role 2026-10-09 06:36:34 +00:00

ansible-roles-openterminal

This role deploys a podman based open-terminal instance, a lightweight self-hosted terminal giving AI agents and automation tools a dedicated environment to run commands through a simple API.

Open Terminal is authored by the Open WebUI team — source: https://github.com/open-webui/open-terminal (mirrored at https://git.boxcar.sh/mirrors/open-terminal), MIT licensed. API docs are served at /docs on a running instance.

Task Configuration

- name: Setup Open Terminal
  hosts: somehost
  become: true
  roles:
    - role: openterminal
    - role: caddy
      caddy_sites:
        - name: openterminal
          url: shell.somehost.com
          dns: cloudflare
          srv: 8000
          log: true

Open WebUI integration (system-level, proxied through the WebUI backend): Admin Settings → Integrations → Open Terminal, using the terminal URL and openterminal_api_key.

Deployment and Removal

systemctl --user stop container-openterminal.service

Deploy

ansible-playbook -i hosts deploy.yml --tags=openterminal --limit=somehost

Remove

ansible-playbook -i hosts deploy.yml --tags=openterminal --extra-vars "openterminal_state=absent" --limit=somehost