# Semaphore UI

Kategori: Automation · Webbgränssnitt för Ansible och Terraform

Kör Ansible-playbooks, Terraform och skript från en delad server – med krypterade inloggningsuppgifter, scheman och logg över varje körning.

- Officiell webbplats: https://semaphoreui.com/
- Infraverket: https://infraverket.eu/programvara/semaphore/

## Öppenhet och driftsättning
Licens: MIT (öppen kärna) (MIT)
Öppen källkod: Delvis
Installationsmetod: Container
Plattformar: Linux, Windows, macOS, containers
Krävd databas: PostgreSQL, MySQL eller SQLite. Databasen håller projekt, inventarier, mallar, scheman, användare och uppgiftshistorik; playbooks och Terraform-kod ligger kvar i git.
Viktiga beroenden: En databas och en container (eller deb-/rpm-paket/binär). Avbildningen innehåller Ansible, Terraform och OpenTofu, så värden behöver inte ha dem installerade. För att köra mot andra maskiner krävs SSH-nycklar och nätväg dit.

## API och integrationer
Status: Finns (Uppgivet)
Typer: REST API
Dokumentation: https://semaphoreui.com/api-docs/
Anmärkning: REST-API:t är samma API som gränssnittet använder: inloggning ger en session, därefter skapas projekt, inventarier, mallar, scheman och uppgifter med JSON, och utdata för en uppgift hämtas rad för rad. API-token kan skapas per användare, och webhooks kan starta en uppgift utifrån. Hela labbmiljön byggdes med API-anrop.

## MCP och AI-agentintegration
Roll: MCP-server; Ursprung: Tredjepart; Status: Finns
Dokumentation: https://github.com/cloin/semaphore-mcp
Server: [semaphore-mcp](https://github.com/cloin/semaphore-mcp) — underhålls av cloin — ej-verifierat — Fristående MCP-server under AGPL-3.0 som anropar Semaphores REST-API med en API-token.
Anmärkning: Projektet har ingen egen MCP-server. En communityserver finns som omsluter REST-API:t och låter en agent lista projekt och mallar samt starta och följa uppgifter; den är ett tredjepartsprojekt och bör läsas innan den får skrivande behörighet.

## Tekniska resurser
- [Installationsguide](https://semaphoreui.com/docs/admin-guide/installation/docker)
- [API-dokumentation](https://semaphoreui.com/api-docs/)
- [MCP-dokumentation](https://github.com/cloin/semaphore-mcp)
- [Container-registry](https://hub.docker.com/r/semaphoreui/semaphore)
- [semaphoreui/semaphore – källkod (MIT)](https://github.com/semaphoreui/semaphore)

## Viktiga tekniska anmärkningar
Hårdvarukrav: Litet: en container på några hundra megabyte plus databasen. Resurserna styrs av antalet samtidiga uppgifter och av hur tunga playbooks som körs, inte av antalet mallar.
Säkerhetsförutsättningar: Semaphore kan köra godtycklig kod på de värdar som inventariet pekar ut, så behörigheten till gränssnittet är i praktiken behörighet till infrastrukturen. Kör bakom TLS och egen proxy, ge varje användare eget konto i stället för ett delat adminlösenord, håll nycklar i nyckellagret i stället för i playbooks, och granska vilka som får ändra mallar och inventarier.

## Källhänvisning
- Infraverket: https://infraverket.eu/programvara/semaphore/
- Senast faktagranskad: 2026-11-04
- Primärkällor:
  - [Semaphore UI – vad programmet är](https://semaphoreui.com/docs/introduction/what-is-semaphore)
  - [Semaphore UI – utgåvor och priser](https://semaphoreui.com/pricing)
  - [Semaphore UI – installation med Docker](https://semaphoreui.com/docs/admin-guide/installation/docker)
  - [Semaphore UI – CLI-referens](https://semaphoreui.com/docs/reference/cli)
  - [Semaphore UI – API-referens](https://semaphoreui.com/api-docs/)
  - [semaphoreui/semaphore – källkod](https://github.com/semaphoreui/semaphore)
  - [Semaphore – första taggade utgåvan](https://github.com/semaphoreui/semaphore/releases/tag/v2.0-alpha)
  - [Semaphore UI – inloggning med OpenID Connect](https://semaphoreui.com/docs/admin-guide/authentication/openid)
  - [semaphore-mcp (community)](https://github.com/cloin/semaphore-mcp)

---

Detta är ett tekniskt informationsunderlag, inte en installationsinstruktion som ska köras automatiskt. Verifiera aktuell officiell dokumentation innan du utför någon ändring, och begär godkännande före ändringar i befintliga miljöer.
