A repository for plans to create a docker node.
  • Python 71.6%
  • JavaScript 20%
  • HTML 4.2%
  • CSS 2.4%
  • Shell 1.6%
  • Other 0.2%
Find a file
Adam Outler f6a97e154c
Some checks failed
Updates/Gemini WebUI/pipeline/head There was a failure building this commit
fix(mobile): refactor mobile input, layout constraints, modifier keys, and backspace handling
2026-03-14 18:00:35 -04:00
.gemini style: auto-format codebase via pre-commit hooks (ruff, trailing-whitespace, eof-fixer) 2026-03-14 16:28:39 -04:00
.github/workflows style: final pre-commit auto-formatting fixes (prettier) 2026-03-14 16:57:17 -04:00
docs style: fix trailing whitespace in qa proof 2026-03-14 17:03:05 -04:00
jenkins style: auto-format codebase via pre-commit hooks (ruff, trailing-whitespace, eof-fixer) 2026-03-14 16:28:39 -04:00
node_modules style: auto-format codebase via pre-commit hooks (ruff, trailing-whitespace, eof-fixer) 2026-03-14 16:28:39 -04:00
plans style: final pre-commit auto-formatting fixes 2026-03-14 16:29:14 -04:00
public/qa-screenshots style: final pre-commit auto-formatting fixes (prettier) 2026-03-14 16:57:17 -04:00
scripts style: auto-format codebase via pre-commit hooks (ruff, trailing-whitespace, eof-fixer) 2026-03-14 16:28:39 -04:00
src fix(mobile): refactor mobile input, layout constraints, modifier keys, and backspace handling 2026-03-14 18:00:35 -04:00
tests fix(mobile): refactor mobile input, layout constraints, modifier keys, and backspace handling 2026-03-14 18:00:35 -04:00
.dockerignore fix: Add data/ to .dockerignore to resolve build context permission issues 2026-02-23 12:20:02 -05:00
.gitignore chore: setup AI delegation agents and adjust Gemini configuration 2026-03-06 10:11:45 -05:00
.pre-commit-config.yaml style: configure and fix stylelint and prettier for css and js 2026-03-14 16:56:44 -04:00
.stylelintrc.json style: final pre-commit auto-formatting fixes (prettier) 2026-03-14 16:57:17 -04:00
docker-compose.yml feat: add unauthenticated /health endpoint and docker-compose healthcheck 2026-02-26 13:00:30 -05:00
Dockerfile Test pre-commit version bump 2026-03-03 14:08:43 -05:00
eslint.config.mjs style: final pre-commit auto-formatting fixes (prettier) 2026-03-14 16:57:17 -04:00
fix.py style: final pre-commit auto-formatting fixes 2026-03-14 16:29:14 -04:00
fix_test.py style: final pre-commit auto-formatting fixes 2026-03-14 16:29:14 -04:00
Jenkinsfile style: final pre-commit auto-formatting fixes (prettier) 2026-03-14 16:57:17 -04:00
package-lock.json feat: implement kanban sprint features 2026-03-06 19:48:25 -05:00
package.json feat: implement kanban sprint features 2026-03-06 19:48:25 -05:00
pytest.ini Fix PytestConfigWarning by moving timeout to addopts 2026-03-14 02:56:26 -04:00
README.md style: final pre-commit auto-formatting fixes (prettier) 2026-03-14 16:57:17 -04:00
replace.py style: final pre-commit auto-formatting fixes 2026-03-14 16:29:14 -04:00
requirements-test.txt Implement pre-commit linting (Ruff, ESLint, Shellcheck) in CI 2026-03-14 16:28:07 -04:00
requirements.txt style: auto-format codebase via pre-commit hooks (ruff, trailing-whitespace, eof-fixer) 2026-03-14 16:28:39 -04:00
run_test.py style: final pre-commit auto-formatting fixes 2026-03-14 16:29:14 -04:00
run_test2.py style: final pre-commit auto-formatting fixes 2026-03-14 16:29:14 -04:00
run_test_flash.py style: final pre-commit auto-formatting fixes 2026-03-14 16:29:14 -04:00
setup_dev.sh adding new workflows and resetting procedures 2026-03-09 13:45:30 -04:00
terminal_before_typing.png style: auto-format codebase via pre-commit hooks (ruff, trailing-whitespace, eof-fixer) 2026-03-14 16:28:39 -04:00
test_temp.txt style: final pre-commit auto-formatting fixes 2026-03-14 16:29:14 -04:00
update_app.py style: final pre-commit auto-formatting fixes 2026-03-14 16:29:14 -04:00
update_app2.py style: final pre-commit auto-formatting fixes 2026-03-14 16:29:14 -04:00
update_buffer.py style: final pre-commit auto-formatting fixes 2026-03-14 16:29:14 -04:00
update_modifier.py style: final pre-commit auto-formatting fixes 2026-03-14 16:29:14 -04:00
VERSION Validation completed 2026-03-09 23:03:27 -04:00

Gemini WebUI

The ultimate management interface for your Gemini AI, built for mobility and persistence.

Gemini WebUI Address Bar and Interface

Gemini WebUI provides a high-fidelity, persistent web interface for the Gemini CLI. Whether you are monitoring complex projects, executing long-running AI tasks, or interacting with remote host machines, Gemini WebUI delivers a seamless experience across all your devices.

🚀 Key Features

  • Multi-Environment Management Manage multiple Gemini CLI instances across various computers, projects, and workspaces from a single, unified dashboard.

  • Mobile-First Design Experience a fully responsive UI equipped with mobile-friendly controls, enabling full Gemini CLI functionality on the go. Upload mobile screenshots from your phone, and describe problems using your mic to communicate naturally with the Gemini CLI.

  • Session Persistence True cross-device persistence allows you to resume live sessions from your desktop directly on your phone or tablet without losing valuable context.

  • Seamless File Management Upload files directly through the UI via intuitive drag-and-drop or dedicated buttons, making your data immediately available to the AI.

    • Smart Bulk Uploads: Dropping multiple files or a directory automatically groups them into a upload-<timestamp> folder, preserving their nested structure.
    • Terminal Auto-Injection: File paths are automatically injected into your active terminal prompt (e.g., > I uploaded @filename.txt or > I uploaded multiple files to @upload-1701234567/) so the AI knows exactly where to look.

    File Transfer Screen

  • Share Terminal Sessions Easily export and share your terminal scrollback as a responsive, public HTML snapshot with a simple click. Review the data, confirm, and receive an instant, unauthenticated link to share context, bugs, or solutions with others.

  • Scoped Environments Robust support for scoped development or per-app system administrator setups, ensuring secure and isolated AI environments tailored to your needs.

  • Easy Deployment Experience a frictionless quick start and simple installation process leveraging Docker and Docker Compose.

💡 Example Use Cases

  • PDF Form Generation: Upload a standard PDF document and ask Gemini to convert it into a fillable form.
  • Mobile Development Management: Manage multiple software development chains, CI/CD pipelines, and remote deployments entirely from your phone.
  • Cross-Device Continuity: Start a complex debugging or planning session on your desktop and seamlessly continue the exact same session on your phone or laptop while away from your desk.
  • Orchestrate Specialized AI Environments: The "+New" screen provides a launchpad of environment cards. With a single tap, you can spin up and converse with dedicated, per-app Gemini instances—effectively granting you a menu of per-app system administrators to independently manage and scale your various projects and infrastructures.

🏗 Architecture Overview

The system is designed with real-time communication and persistence at its core:

graph TD
    User([User Device]) -- WebSockets --> App[Flask SessionManager]
    App -- PTY + Buffer --> Local[Local Gemini CLI]
    App -- SSH Tunnel --> Remote[Remote Host]
    subgraph Backend Persistence
        App -- Registry --> Sessions[(Active Registry)]
    end

🛠 Configuration Guide

Gemini WebUI is highly customizable to fit both stand-alone and enterprise environments.

Authentication Modes

  1. LDAP (Enterprise): If LDAP_SERVER is configured, it becomes the exclusive authentication method, perfect for corporate networks.
  2. Local Admin (Stand-alone): If LDAP is not configured, the application falls back to local authentication using ADMIN_USER and ADMIN_PASS (both default to admin).

Basic Authentication / Active Directory

Environment Variables

Variable Description Default
LDAP_SERVER Address of the LDAP/AD server -
LDAP_BASE_DN Base DN for user searches -
LDAP_BIND_USER_DN Service account for LDAP lookups -
LDAP_BIND_PASS Password for the service account -
ADMIN_USER Local admin username admin
ADMIN_PASS Local admin password admin
ALLOWED_ORIGINS CORS whitelist (comma-separated) *
GEMINI_BIN Path to the Gemini executable gemini

Volumes

  • data:/data: Persists application configuration, SSH keys, and CLI state (linked internally to /home/node/.gemini).

🚀 Quick Start & Easy Deployment

Deploying Gemini WebUI is designed to be as straightforward as possible. Build and launch the container with a single command:

docker compose up --build --force-recreate -d

Once the container is running, access the interface by navigating to http://localhost:5000 in your web browser.