A web application to centralize the related tools of your projects, a dynamic connection management with security and data collection.
More technical details can be found in the subdirectories ligoj-api and ligoj-ui.
📖 Full documentation lives in DOC.md — architecture, security (O)RBAC model, features, plugin development, deployment, the complete configuration reference and troubleshooting. This page is the quick-start; deep-dive links below point into
DOC.md.
Cross-browser Testing Platform and Open Source <3 Provided by Sauce Labs
:8080 :8081
Navigateur ──────> ligoj-ui ──────────> ligoj-api ──────> ligoj-db
(Vue 3 SPA) Spring Boot Spring Boot MySQL 8
+ fichiers Vue REST API
+ proxy REST + plugins Java
| Service | Image | Port | Description |
|---|---|---|---|
| ligoj-db | mysql:8.0 |
— | Base de donnees |
| ligoj-api | ligoj/ligoj-api:4.0.1 |
8081 | API REST backend + plugins |
| ligoj-ui | Build local (Dockerfile) | 8080 | Frontend Vue 3 + proxy Spring |
See Architecture for the full topology.
| Couche | Technologie | Version | |
|---|---|---|---|
| Framework UI | Vue.js | 3.5 | Composition API, <script setup> |
| Build | Vite | 6.0 | HMR < 100ms, build < 2s |
| UI Library | Vuetify | 3.7 | Material Design 3 |
| State | Pinia | 2.2 | Stores reactifs |
| Router | Vue Router | 4.5 | Hash mode, guards auth |
| Icons | MDI | 7.4 | 7 000+ icones Material |
| Tests unitaires | Vitest | 4.0 | 141 tests |
| Tests e2e | Playwright | 1.58 | 53 tests |
| Runtime | Java 21 Temurin | 21 | Spring Boot |
| Build Docker | Node 22 + Maven 3.9 | — | Multi-stage |
| Suite | Framework | Tests | Temps |
|---|---|---|---|
| Stores & composables | Vitest | 50 | ~0.1s |
| Plugin system | Vitest | 16 | ~0.1s |
| Plugin formatters | Vitest | 37 | ~0.1s |
| Plugin API & contracts | Vitest | 40 | ~0.1s |
| Views | Vitest | 3 | ~0.1s |
| Unitaires (total) | Vitest | 141 | ~2s |
| End-to-end | Playwright | 53 | ~18s |
| Total | 194 |
| Page | Route | Donnees |
|---|---|---|
| Login | /login.html |
API auth |
| Home page | /#/ |
Cartes de navigation |
| Projects list | /#/home/project |
4 projets (MySQL) |
| Project details | /#/home/project/:id |
Souscriptions |
| Users list | /#/id/user |
API live |
| Groups list | /#/id/group |
API live |
| Companies list | /#/id/company |
API live |
| Delegates | /#/id/delegate |
5 delegations (MySQL) |
| Container Scopes | /#/id/container-scope |
Onglets group/company |
| System info | /#/system/information |
System information |
| Profile | /#/profile |
User profile |
Sans plugin IAM (LDAP/AD), le systeme utilise
feature:iam:empty. Les pages Identity affichent les donnees retournees par l'API (qui peuvent etre vides). Les pages Projects et Delegates utilisent les vraies donnees MySQL.
| Fonctionnalite | Fonctionnalite | ||
|---|---|---|---|
| ✓ | Authentification / Logout | ✓ | Dark mode |
| ✓ | Session persistante | ✓ | Responsive mobile |
| ✓ | Sidebar navigation | ✓ | Breadcrumbs |
| ✓ | Recherche dans les tables | ✓ | Tri des colonnes |
| ✓ | Pagination serveur | ✓ | Import/Export CSV |
| ✓ | Bulk select/delete | ✓ | Form guards (dirty state) |
| ✓ | Gestion d'erreurs (snackbar) | ✓ | Loading skeletons |
| ✓ | i18n FR/EN | ✓ | RBAC (autorisations UI) |
The stack builds and runs with podman compose. On a machine that already has Docker Compose, Podman must be told to
prefer podman-compose — see Prerequisites for the one-time provider setup and the sanity check.
Quick install:
# macOS
brew install podman podman-compose git && podman machine init && podman machine start
# Linux (Debian/Ubuntu): sudo apt install -y podman python3-pip git && pip install --user podman-composegit clone https://github.com/ligoj/ligoj.git && cd ligoj
podman compose -p ligoj -f compose.yml -f compose-override.yml up -d --buildThen open Ligoj Home in your browser.
| Role | Login | Password |
|---|---|---|
| Administrator | ligoj-admin |
ligoj-admin |
| Regular user | ligoj-user |
ligoj-user |
For RBAC security, install: plugin-id, plugin-id-ldap, plugin-id-ldap-embedded.
More deployment topics — Compose variables, MySQL/PostgreSQL selection, persistent home, embedding git provenance, one-script setup and publishing images to AWS ECR — are documented in Deployment with Docker Compose.
See the Development and Frontend development (Vite) guides, and the Wiki page.
See each container ligoj-api and ligoj-ui.
API is only available from a valid session. See OpenAPI / API schema.
- Swagger UI page
- WADL
Ligoj is massively based on plugin management. All plugins are deployed in Maven central. To build and deploy a plugin, more information is available in the plugin-api repository. See Plugin management for the full model.
Ligoj comes with a modular approach: the UI can be rebranded or extended by rebuilding
plugin-ui, shipping your own plugin-ui-company, or dropping assets into the Ligoj
home directory. See Custom UI via plugins and
Customization of the UI.
SBOM content is exposed thanks to Spring Actuator at http://localhost:8080/ligoj/manage/sbom. See
Management endpoints.

