2026-05-28 11:57:47 +02:00
# UrBackup plugin for GLPI 11
2026-05-20 09:20:27 +02:00
2026-05-28 11:57:47 +02:00
[](https://glpi-project.org)
[](https://php.net)
[](LICENSE)
2026-05-20 09:20:27 +02:00
2026-05-28 11:57:47 +02:00
Integrate [UrBackup ](https://www.urbackup.org/ ) backup server management directly into GLPI. Monitor clients, manage backups, and link assets to UrBackup servers from within GLPI's asset management interface.
2026-05-20 09:20:27 +02:00
2026-05-28 11:57:47 +02:00
## Features
2026-05-20 09:20:27 +02:00
2026-05-28 11:57:47 +02:00
- **Server management** – Register UrBackup servers by location; test API connectivity.
- **Asset linking** – Link Computers (and other GLPI 11 asset types) to UrBackup clients.
- **Backup actions** – Start file/image incremental and full backups directly from the asset form.
- **Client lifecycle** – Create, rename, and delete UrBackup clients from GLPI.
- **Internet mode** – Toggle internet mode and configure default backup directories per asset.
- **Capacity system** – Native GLPI 11 integration via `UrBackupCapacity` ; enable per Asset Definition.
- **Location-aware** – Auto-match assets to servers based on location hierarchy.
- **Massive actions** – Link/unlink assets to servers in bulk.
2026-05-20 09:20:27 +02:00
2026-05-28 11:57:47 +02:00
## Requirements
2026-05-20 09:20:27 +02:00
2026-05-28 11:57:47 +02:00
| Component | Version |
|-----------|---------|
| **GLPI ** | >= 11.0.6, < 12.0.0 |
| **PHP ** | >= 8.3.0 (8.4 supported) |
| **Database ** | MySQL 5.7+ / MariaDB 10.5+ |
2026-05-20 09:20:27 +02:00
2026-05-28 11:57:47 +02:00
## Installation
2026-05-20 09:20:27 +02:00
2026-05-28 11:57:47 +02:00
1. **Download ** the plugin and extract it to `GLPI_ROOT/plugins/urbackup/`
2. **Install ** via GLPI web interface or CLI:
2026-05-20 09:20:27 +02:00
2026-05-28 11:57:47 +02:00
``` bash
php bin/console glpi:plugin:install urbackup
php bin/console glpi:plugin:activate urbackup
```
2026-05-20 09:20:27 +02:00
2026-05-28 11:57:47 +02:00
3. **Configure rights ** – Go to * Administration > Profiles * , select a profile, and set * UrBackup * rights (READ / UPDATE / CREATE / DELETE / PURGE).
4. **Add servers ** – Navigate to * Admin > UrBackup servers * and register your UrBackup instances.
5. **Enable capacity ** – Go to * Config > Asset definitions * , open an asset type, and enable * UrBackup * in the Capacities tab.
## Usage
### Linking assets to a server
- Open an asset (Computer, etc.) and go to the **UrBackup ** tab.
- Select a server from the dropdown and click **Connect ** .
- The asset appears in the server's * Linked clients * tab and backup actions become available.
### Starting a backup
1. Open a linked asset and go to its UrBackup tab.
2. Click **Start file backup ** (incremental) or **Start image backup ** .
3. Monitor progress in the UrBackup server web interface.
### Managing servers
- **Add**: * Admin > UrBackup servers > Add *
- **Edit**: Click a server name or the edit icon.
- **Test API**: The plugin auto-tests the API when saving; status is shown in the list.
## Permissions
| Right | Description |
|-------------|-------------|
| `READ` | View servers and asset backup status |
| `UPDATE` | Edit servers, start backups, toggle internet mode |
| `CREATE` | Add new servers, create clients |
| `DELETE` | Disconnect assets from servers |
| `PURGE` | Delete clients from UrBackup server |
## Development
``` bash
# Lint
php -l src/*.php front/*.php
# Type checking (requires PHPStan)
vendor/bin/phpstan analyse --level 8 src/
# Database migration testing
# Install/uninstall/reinstall via CLI:
php bin/console glpi:plugin:install urbackup
php bin/console glpi:plugin:uninstall urbackup
```
## Project Structure
```
plugin_urbackup/
├── front/ # Entry points (form handlers, AJAX endpoints)
├── install/ # DB schema (mysql/) and install/uninstall scripts
├── public/ # Static assets (CSS, JS)
├── src/ # PHP classes (PSR-4: Plugin\Urbackup\)
│ ├── AssetTab.php
│ ├── Capacity/ # GLPI 11 capacity integration
│ ├── Config.php
│ ├── LocationHelper.php
│ ├── Profile.php
│ ├── Server.php
│ ├── ServerAsset.php
│ └── UrbackupApiClient.php
├── templates/ # Twig templates
├── setup.php # Plugin metadata, hooks, class registration
├── hook.php # Install/upgrade/uninstall + massive actions
└── README.md
```
## Changelog
### 0.7.0
- Dropped legacy `glpi_plugin_urbackup_profiles` and `glpi_plugin_urbackup_assettypes` tables
- Added composite index `(locations_id, is_active)` on servers table
- Added `date_creation` /`date_mod` columns to serverassets table
- Removed deprecated files and dead Symfony controller code
- CSRF hardening on all POST handlers
- Bumped minimum PHP to 8.3
### 0.6.0
- GLPI 11 compatibility with Asset Definition capacity system
- Migrated from Symfony to native GLPI form handling
- Added location-aware server matching
### 0.5.0
- Initial GLPI 10 compatibility
- Profile-based rights management
## License
GNU General Public License v2.0 or later. See [LICENSE ](LICENSE ).