{"id":38476333,"url":"https://github.com/sky22333/ansible-ui","last_synced_at":"2026-01-17T05:20:44.357Z","repository":{"id":298755408,"uuid":"882429860","full_name":"sky22333/ansible-ui","owner":"sky22333","description":"轻量级，简单易用的Ansible Web管理面板，提供批量主机管理、运行剧本任务、命令执行、文件传输和Web终端等功能。","archived":false,"fork":false,"pushed_at":"2025-08-28T12:18:26.000Z","size":816,"stargazers_count":456,"open_issues_count":6,"forks_count":61,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-08-28T19:20:46.159Z","etag":null,"topics":["ansible","ansible-ui","ansible-web","ansible-webui","devops"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sky22333.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-02T18:55:31.000Z","updated_at":"2025-08-28T12:18:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"5fe352d0-4945-4110-8155-c78f8b61decd","html_url":"https://github.com/sky22333/ansible-ui","commit_stats":null,"previous_names":["sky22333/ansible","sky22333/ansible-ui"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/sky22333/ansible-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky22333%2Fansible-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky22333%2Fansible-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky22333%2Fansible-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky22333%2Fansible-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sky22333","download_url":"https://codeload.github.com/sky22333/ansible-ui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky22333%2Fansible-ui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28498734,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T04:31:57.058Z","status":"ssl_error","status_checked_at":"2026-01-17T04:31:45.816Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","ansible-ui","ansible-web","ansible-webui","devops"],"created_at":"2026-01-17T05:20:41.510Z","updated_at":"2026-01-17T05:20:44.351Z","avatar_url":"https://github.com/sky22333.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible Web管理面板\n\n轻量级，简单易用的Ansible Web管理面板，提供批量主机管理、命令执行、文件传输和Web终端等功能。适合小白用户。\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://count.getloli.com/get/@sky22333.ansible-ui?theme=rule34\" alt=\"Visitors\"\u003e\n\u003c/p\u003e\n\n## 功能特性\n\n- 主机管理：批量添加主机\n- 支持密码认证，支持使用统一的密钥认证\n- 主机密码加密存储，提高安全性\n- 命令执行：向选中主机发送命令并查看结果\n- 文件上传：上传文件到选中主机\n- 自定义Playbook执行：编写和执行Ansible Playbook任务\n- Web终端：通过浏览器直接连接到远程主机\n- 访问日志：记录和查看系统访问情况\n\n## 详细文档\n\n[中文文档](https://zread.ai/sky22333/ansible-ui)\n\n[English](https://deepwiki.com/sky22333/ansible-ui)\n\n## Docker快速部署\n```\ndocker run -d \\\n  --name ansible-ui \\\n  -p 5000:5000 \\\n  -e ANSIBLE_HOST_KEY_CHECKING=False \\\n  -e ADMIN_USERNAME=admin123 \\\n  -e ADMIN_PASSWORD=admin123 \\\n  -v ./ansible:/app/db \\\n  -v /root/.ssh:/root/.ssh:ro \\\n  ghcr.io/sky22333/ansible-ui\n```\n建议反代并开启HTTPS加强安全性，务必设置一个强密码。\n\n## ⚠️注意事项\n\n- **安全声明**：任何系统无法保障没有BUG的存在，公网环境请务必利用nginx或caddy的IP白名单加强安全性。\n- **环境变量要求**：请修改`ADMIN_USERNAME`和`ADMIN_PASSWORD`用户名密码的环境变量\n- **密钥生成**：系统完全依赖管理员凭证派生加密密钥，无任何本地密钥文件\n- **密码更改**：如果修改了管理员密码，之前加密的数据将无法解密，请在修改密码前备份重要数据\n- **会话限制**：加密密钥仅在登录会话中有效，如果服务重启，需要重新登录才能访问加密数据\n- **密钥认证**：当开启密钥认证连接主机后，则主机使用统一的密钥，并且添加主机时无需添加密码\n\n---\n\n### 密钥认证连接主机\n\n默认会读取容器内的`/root/.ssh/id_ed25519`\n\n可以直接宿主机生成密钥对，然后映射进去，也可以进入容器内操作\n\n**生成 SSH 密钥对**\n```\nssh-keygen -t ed25519\n```\n\u003e 一路回车即可，默认生成在`/root/.ssh/id_ed25519`和`id_ed25519.pub`\n\n**将公钥复制到目标主机**\n```\nssh-copy-id -i /root/.ssh/id_ed25519.pub root@192.168.2.1\n```\n如果你的目标主机ssh端口不是默认的22，则需要指定端口参数`-o Port=2222`\n\n这条命令会自动把`id_ed25519.pub`的内容追加到目标主机的`/root/.ssh/authorized_keys`中\n\n多个主机可以使用脚本for循环批量执行\n\n\n## 预览\n\n![1](./.github/demo/1.jpg)\n\n---\n\n![2](./.github/demo/2.jpg)\n\n---\n\n![3](./.github/demo/3.jpg)\n\n---\n\n![4](./.github/demo/4.jpg)\n\n---\n\n![5](./.github/demo/5.jpg)\n\n---\n\n![6](./.github/demo/6.jpg)\n\n---\n\n![7](./.github/demo/7.jpg)\n\n---\n\n![8](./.github/demo/8.jpg)\n\n---\n\n## Stargazers over time\n[![Stargazers over time](https://starchart.cc/sky22333/ansible-ui.svg?variant=adaptive)](https://starchart.cc/sky22333/ansible-ui)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsky22333%2Fansible-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsky22333%2Fansible-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsky22333%2Fansible-ui/lists"}