{"id":13467179,"url":"https://github.com/semaphoreui/semaphore","last_synced_at":"2026-02-28T11:11:18.615Z","repository":{"id":20000455,"uuid":"23267883","full_name":"semaphoreui/semaphore","owner":"semaphoreui","description":"Modern UI and powerful API for Ansible, Terraform/OpenTofu/Terragrunt, PowerShell and other DevOps tools.","archived":false,"fork":false,"pushed_at":"2026-02-21T15:38:17.000Z","size":65240,"stargazers_count":13231,"open_issues_count":912,"forks_count":1222,"subscribers_count":206,"default_branch":"develop","last_synced_at":"2026-02-21T16:14:04.354Z","etag":null,"topics":["ansible","awx","ci","cicd","devops","docker","docker-ui","go","golang","jenkins","opentofu","pulumi","terraform","terraform-ui","terragrunt"],"latest_commit_sha":null,"homepage":"https://semaphoreui.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/semaphoreui.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"semaphoreui","open_collective":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2014-08-23T22:43:31.000Z","updated_at":"2026-02-21T14:41:11.000Z","dependencies_parsed_at":"2026-01-16T08:08:02.740Z","dependency_job_id":null,"html_url":"https://github.com/semaphoreui/semaphore","commit_stats":{"total_commits":2119,"total_committers":148,"mean_commits":"14.317567567567568","dds":0.5403492213308164,"last_synced_commit":"cf584776a48f8e59423dc8b75567170fce4a26fe"},"previous_names":["ansible-semaphore/semaphore"],"tags_count":465,"template":false,"template_full_name":null,"purl":"pkg:github/semaphoreui/semaphore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semaphoreui%2Fsemaphore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semaphoreui%2Fsemaphore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semaphoreui%2Fsemaphore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semaphoreui%2Fsemaphore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/semaphoreui","download_url":"https://codeload.github.com/semaphoreui/semaphore/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semaphoreui%2Fsemaphore/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29931577,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T09:58:13.507Z","status":"ssl_error","status_checked_at":"2026-02-28T09:57:57.047Z","response_time":90,"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","awx","ci","cicd","devops","docker","docker-ui","go","golang","jenkins","opentofu","pulumi","terraform","terraform-ui","terragrunt"],"created_at":"2024-07-31T15:00:53.855Z","updated_at":"2026-02-28T11:11:18.588Z","avatar_url":"https://github.com/semaphoreui.png","language":"Go","readme":"# Semaphore UI\n\nModern UI for Ansible, Terraform/OpenTofu/Terragrunt, PowerShell and other DevOps tools.\n\n[![roadmap](https://img.shields.io/badge/roadmap-gray?style=for-the-badge\u0026logo=github)](https://github.com/orgs/semaphoreui/projects/11)\n[![telegram](https://img.shields.io/badge/discord_community-510b80?style=for-the-badge\u0026logo=discord)](https://discord.gg/5R6k7hNGcH) \n[![youtube](https://img.shields.io/badge/youtube_channel-red?style=for-the-badge\u0026logo=youtube)](https://www.youtube.com/@semaphoreui) \n\u003c!-- [![docker](https://img.shields.io/badge/container_configurator-white?style=for-the-badge\u0026logo=docker)](https://semaphoreui.com/install/docker/) --\u003e\n\n![responsive-ui-phone1](https://user-images.githubusercontent.com/914224/134777345-8789d9e4-ff0d-439c-b80e-ddc56b74fcee.png)\n\nIf your project has grown and deploying from the terminal is no longer feasible, then Semaphore UI is the tool you need.\n\n## Gratitude\n\nThank you, [Stefan](https://github.com/stefanux) and [steadfasterX](https://github.com/steadfasterX), for supporting the project. Your support is invaluable.\n\nThank you, [Thomas](https://github.com/tboerger) and [Brian](https://github.com/Omicron7), for your excellent contributions. You solved issues that no one else would have taken on.\n\n\u003c!--\n## Live Demo\n\nTry the latest version of Semaphore at [https://portal.semaphoreui.com](https://portal.semaphoreui.com).\n--\u003e\n\n## What is Semaphore UI?\n\nSemaphore UI is a modern web interface for managing popular DevOps tools.\n\nSemaphore UI allows you to:\n* Easily run Ansible playbooks, Terraform and OpenTofu code, as well as Bash and PowerShell scripts.\n* Receive notifications about failed tasks.\n* Control access to your deployment system.\n\n## Key Concepts\n\n1. **Projects** is a collection of related resources, configurations, and tasks.\n2. **Task Templates** are reusable definitions of tasks that can be executed on demand or scheduled.\n3. **Task** is a specific instance of a job or operation executed by Semaphore.\n4. **Schedules** allow you to automate task execution at specified times or intervals.\n5. **Inventory** is a collection of target hosts (servers, virtual machines, containers, etc.) on which tasks will be executed.\n6. **Variable Group** refers to a configuration context that holds sensitive information such as environment variables and secrets used by tasks during execution.\n\n## Getting Started\n\nYou can install Semaphore using the following methods:\n* [Docker](https://semaphoreui.com/install/docker)\n* Deploy a VM from a marketplace:\n  * [AWS](https://aws.amazon.com/marketplace/pp/prodview-xavlsdkqybxtq)\n  * [DigitalOcean](https://marketplace.digitalocean.com/apps/semaphore?refcode=b55d7c0077b8\u0026action=deploy)\n  * [Vultr](https://www.vultr.com/marketplace/apps/semaphore)\n  * [Yandex Cloud](https://yandex.cloud/ru/marketplace/products/fastlix/semaphore)\n* [Snap](http://snapcraft.io/semaphore)\n* [Binary file](https://semaphoreui.com/install/binary)\n* [Debian or RPM package](https://semaphoreui.com/install/binary)\n\n### Docker\n\nThe most popular way to install Semaphore is via Docker.\n\n```\ndocker run -p 3000:3000 --name semaphore \\\n\t-e SEMAPHORE_DB_DIALECT=bolt \\\n\t-e SEMAPHORE_ADMIN=admin \\\n\t-e SEMAPHORE_ADMIN_PASSWORD=changeme \\\n\t-e SEMAPHORE_ADMIN_NAME=Admin \\\n\t-e SEMAPHORE_ADMIN_EMAIL=admin@localhost \\\n\t-d semaphoreui/semaphore:latest\n```\n\nWe recommend using the [Container Configurator](https://semaphoreui.com/install/docker/) to get the ideal Docker configuration for Semaphore.\n\n\u003c!--\n### SaaS\n\nWe offer a SaaS solution for using Semaphore UI without installation. Check it out at [Semaphore Cloud](https://portal.semaphoreui.com).\n--\u003e\n\n### Other Installation Methods\n\nFor more installation options, visit our [Installation page](https://semaphoreui.com/install).\n\n## Documentation\n\n* [User Guide](https://docs.semaphoreui.com)\n* [API Reference](https://semaphoreui.com/api-docs)\n* [Postman Collection](https://www.postman.com/semaphoreui)\n\n## Awesome Semaphore\n\nA curated list of awesome things related to Semaphore UI.\n\n* [Ebdruplab — Ansible Collections](https://github.com/Ebdruplab/ansible-collection_ebdruplab) \u0026mdash; Ansible modules and a role for managing Semaphore.\n* [SemaphoreUI MCP Server](https://github.com/cloin/semaphore-mcp) \u0026mdash; A Model Context Protocol (MCP) server that provides AI assistants with powerful automation capabilities for SemaphoreUI.\n* [Terraform SemaphoreUI Provider](https://github.com/CruGlobal/terraform-provider-semaphoreui) \u0026mdash; Manage Semaphore UI resources using Terraform.\n* [PSSemaphore](https://github.com/robinmalik/PSSemaphore) \u0026mdash; A PowerShell module designed to work against the Ansible Semaphore REST API.\n\n[//]: # (* [Ansible UI Semaphore]\u0026#40;https://github.com/morbidick/ansible-role-semaphore\u0026#41; \u0026mdash; Ansible role to install and configure the Ansible UI Semaphore.)\n\n## Contribution\n\n* [Contribution Guide](https://github.com/semaphoreui/semaphore/blob/develop/CONTRIBUTING.md)\n* [Dev Container](https://codespaces.new/semaphoreui/semaphore) (default user `admin` / `changeme`)\n\n## License\n\nMIT © [Denis Gukov](https://github.com/fiftin)\n","funding_links":["https://github.com/sponsors/semaphoreui"],"categories":["Go","后端开发框架及项目","ansible","terraform","Table of Contents"],"sub_categories":["后端项目_其他","Automation"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsemaphoreui%2Fsemaphore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsemaphoreui%2Fsemaphore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsemaphoreui%2Fsemaphore/lists"}