{"id":13583700,"url":"https://github.com/node-ci/nci-ansible-ui","last_synced_at":"2025-04-06T10:13:35.181Z","repository":{"id":12872125,"uuid":"72606549","full_name":"node-ci/nci-ansible-ui","owner":"node-ci","description":"Simple web interface for running Ansible playbooks","archived":false,"fork":false,"pushed_at":"2022-08-31T00:59:06.000Z","size":1145,"stargazers_count":250,"open_issues_count":8,"forks_count":44,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-03-30T05:08:10.096Z","etag":null,"topics":["ansible","devops","nodejs","playbook"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/node-ci.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-02T05:16:27.000Z","updated_at":"2025-02-12T21:32:50.000Z","dependencies_parsed_at":"2022-07-12T15:04:51.230Z","dependency_job_id":null,"html_url":"https://github.com/node-ci/nci-ansible-ui","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-ci%2Fnci-ansible-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-ci%2Fnci-ansible-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-ci%2Fnci-ansible-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-ci%2Fnci-ansible-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/node-ci","download_url":"https://codeload.github.com/node-ci/nci-ansible-ui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247464224,"owners_count":20942970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","devops","nodejs","playbook"],"created_at":"2024-08-01T15:03:42.645Z","updated_at":"2025-04-06T10:13:35.144Z","avatar_url":"https://github.com/node-ci.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","playbook"],"sub_categories":[],"readme":"# nci ansible ui\n\nSimple web interface for running Ansible playbooks.\n\nIt pulls your repository with playbooks and inventories according to project\nconfig (which defines repository path, playbook and inventory directories inside\nrepository, etc) and allows you to run playbooks with inventories via single\npage web interface (with live updates and pretty terminal output).\n\n\n## Features\n\n* single page web application which immediately responds to any\nuser interaction. This app doesn't use http api, it's built using socket.io\n* online console output which is very close to terminal emulator\n* can run one playbook with different inventories (sequentially)\n* works with any Mercurial or Git repositories (no matter if it's a service like\nGithub, Bitbucket or private server, all you need is authenticate user from\nwhich nci server is running without password e.g. by SSH key)\n* minimal dependencies (only NodeJS, SCM client and Ansible are required)\n* built on top of [nci](https://github.com/node-ci/nci), can extend\nfunctionality by notification and other plugins\n\n![nci-ansible-ui-execution](https://cloud.githubusercontent.com/assets/465522/21159795/e281871a-c19b-11e6-9dea-aac57440dffe.png)\n\n\n## Installation\n\n\n### Docker image\n\nIt's recommended setup, image for nci ansible ui contains all dependencies\nincluding ansible. You can try it using command:\n\n```sh\ndocker run --rm -it -p 3000:3000 okvd/nci-ansible-ui\n```\n\nThat's all, now you can experiment with it by adding/changing projects,\nuse web interface (on http://127.0.0.1:3000 by default) to run playbooks.\n\nSee [image page](https://hub.docker.com/r/okvd/nci-ansible-ui) for details.\n\n\n### Native setup\n\nSystem requirements:\n\n* unix-like operating system, not tested on windows\n* node.js \u003e= 0.10\n* git client \u003e= 1.9 (only for building git projects)\n* mercurial client \u003e= 2.8 (only for building mercurial projects)\n* ansible\n* build tools - gcc, make, etc\n(for building [LevelDB](https://github.com/level/leveldown) if binary is not\nprovided for your platform). E.g. ubuntu `build-essential` package provides\nsuch tools.\n\nOn the system with satisfied requirements clone quick setup repository,\ngo into it and install dependencies:\n\n```sh\ngit clone https://github.com/node-ci/nci-ansible-ui-quick-setup \u0026\u0026\ncd nci-ansible-ui-quick-setup \u0026\u0026\nnpm install\n```\n\nrun server:\n\n\n```sh\nnode_modules/.bin/nci\n```\n\nNow you can experiment with it by adding/changing projects,\nuse web interface (on http://127.0.0.1:3000 by default) to run playbooks.\n\nSample project works with\n[repository](https://github.com/node-ci/nci-ansible-ui-sample-playbook)\nwhich contains sample playbooks (some ping, ps ax and other read commands) and\ninventory. Inventory defines localhost as target host with following\nsettings:\n\n```yaml\nansible_host: 127.0.0.1\nansible_user: ansible\nansible_ssh_private_key_file: ~/.ssh/id_rsa_test\n```\n\nyou should provide such access (ansible will be run by user which started nci\nserver) in order to run sample project. Localhost\nalso should be in your known hosts file (you can try this access manually\nto get prompt which can add it).\n\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnode-ci%2Fnci-ansible-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnode-ci%2Fnci-ansible-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnode-ci%2Fnci-ansible-ui/lists"}