OPSI-WebGUI is the official browser-based management interface for OPSI, the open-source client management system.
Manage clients, deploy software, configure servers, inspect logs and perform administration tasks directly from your browser without installing additional software.
sudo apt update && sudo apt install opsi-webgui
sudo systemctl restart opsiconfdAccess the OPSI-WebGUI at https://<SERVER>:4447/addons/webgui/app.
Download opsi-webgui.zip and upload it via the opsiconfd admin interface at https://<SERVER>:4447/admin/#addons.
Clone this repository and open it in Visual Studio Code with the Remote Containers extension installed. The development environment will be started automatically in the devcontainer.
Devcontainer quick start:
- Open the repository in VS Code.
- Reopen in Container.
- Wait until container initialization has completed.
- Run all project commands inside the container under
/workspace.
The project uses a unified test approach covering:
-
Frontend unit tests (Vitest)
- utility and composable logic
- security guardrails
- performance tests for large data components
-
Backend integration tests (pytest)
- API behavior against real backend services
- security validation
-
Frontend E2E tests (Playwright)
- functional workflows
- visual regression
- accessibility validation
- documentation and marketing screenshots
All UI tests use the shared runner: frontend/tests/e2e/runner/runUITest.ts.
The runner executes tests in Docker with a real opsiconfd backend and test data.
For each page it validates:
-
Functional behavior
- user interactions
- navigation
- forms
- data loading
-
Visual and accessibility checks
- screenshot comparison and baseline updates
- axe-core scans (WCAG 2.1 AA)
The generated screenshots are used for:
- visual regression
- documentation
- marketing pages
| Smoke (merge requests) | Full Matrix (nightly/releases) | |
|---|---|---|
| Browser | Chromium | Chromium + Firefox |
| Locale | DE | DE + EN |
| Theme | Light | Light + Dark |
| Viewport | Desktop | Desktop + Mobile |
The full matrix also generates documentation and marketing screenshots, available for download from the CI pipeline artifacts.
cd frontend
pnpm run test:unit
pnpm run test:unit:coverageSecurity and performance tests:
pnpm exec vitest run tests/unit/security/
pnpm exec vitest run tests/unit/performance/scripts/dev-e2e.shUpdate visual baselines:
scripts/dev-e2e.sh -ucd docker/opsiconfd
uv sync
.venv/bin/python -m pytest /workspace/backend/tests -vContributions are welcome! Please read this section before opening a pull request.
- Fork the repository on GitHub.
- Create a feature branch from the default branch
- Make your changes inside the devcontainer to ensure a consistent environment.
- Run the relevant tests (see Testing) and make sure they pass.
- Open a pull request against the default branch with a clear description of the change and the motivation.
Please open an issue on GitHub Issues with:
- OPSI-WebGUI version (shown either in the bottom-left of the login page or in the top bar next to the OPSI-WebGUI logo after login).
- Steps to reproduce
- Expected vs. actual behavior
Do not open public issues for security bugs. Report them confidentially to security@opsi.org.
Translations are managed via Transifex: https://app.transifex.com/opsi-org/opsiorg/opsi-webguijson/
Completed translations are automatically included in future releases. If your language is missing or incomplete, contributions via Transifex are very welcome.
AGPL-3.0 Copyright (c) uib GmbH <info@uib.de>
