Files

113 lines
4.0 KiB
Markdown

# AssetManager 0.5.5.27
AssetManager ist eine selbst gehostete Webanwendung zur Verwaltung von IT- und sonstigen Betriebsmitteln. Das Projekt wird unter der **Apache License 2.0** veröffentlicht und darf privat sowie kommerziell genutzt, verändert und weitergegeben werden.
## Funktionsumfang
- frei konfigurierbare Asset-Kategorien, Felder und Statuswerte
- Assetlisten, Detailansichten, Historie, Ausgabe und Rückgabe
- Excel-Import und -Export, Sammeländerungen, Zusammenführen und Baumansicht
- Hardware- und Softwareinventur
- Jobdefinitionen und Jobausführung mit Status, Callback, Wiederholung und Protokollen
- lokale Benutzerverwaltung und optionale LDAP-Anmeldung
- geschütztes lokales Notfallkonto auch bei aktiviertem LDAP
- Rollen, Sichtbarkeitsregeln, Übersetzungen, Darkmode und anpassbare Darstellung
- integrierte Sicherungs- und Wiederherstellungsfunktionen
- optionale MeshCentral-Anbindung über die MeshCtrl-Kommandozeilenschnittstelle
## MeshCentral-Integration
Die Integration ist optional. AssetManager verwendet MeshCtrl für unterstützte Geräteabfragen und Remote-Aufträge. Es erfolgt kein direkter Zugriff auf die MeshCentral-Datenbank. MeshCentral und MeshCtrl sind eigenständige Drittprojekte und nicht Bestandteil dieses Repositorys; sie werden beim Docker-Build als Abhängigkeit installiert.
## Voraussetzungen
- Docker Engine mit Docker Compose
- ein für den Server geeigneter DNS-Name und HTTPS-Reverse-Proxy werden für produktive Installationen empfohlen
- optional eine erreichbare MeshCentral-Instanz
- optional LDAP/Active Directory
## Installation
```bash
cp .env.example .env
```
Ändere in `.env` mindestens:
```env
POSTGRES_PASSWORD=CHANGE_ME
SESSION_SECRET=CHANGE_ME_LONG_RANDOM
LOCAL_ADMIN_USERNAME=emergency-admin
LOCAL_ADMIN_PASSWORD=CHANGE_ME_MIN_12_CHARS
```
Danach:
```bash
docker compose up -d --build
```
Standardmäßig ist die Anwendung unter Port `8088` erreichbar.
## Persistente Daten
Die Laufzeitdaten werden über Bind-Mounts unter `data/` gespeichert:
```text
data/
├── config/ Anwendungskonfiguration
├── postgres/ PostgreSQL-Datenbank
├── uploads/ hochgeladene Dateien
├── logs/ Protokolle und Diagnosedaten
├── backups/ Anwendungssicherungen
└── scripts/ bereitgestellte Skripte
```
Diese Inhalte sowie `.env` enthalten möglicherweise Zugangsdaten oder personenbezogene beziehungsweise betriebliche Daten und dürfen nicht in ein öffentliches Repository aufgenommen werden.
## Aktualisierung
Vor einer Aktualisierung immer `.env` und den gesamten Ordner `data/` sichern. Danach den neuen Quellstand über den bestehenden Projektordner kopieren und ausführen:
```bash
docker compose down
docker compose up -d --build
docker compose logs --tail=100 -f
```
## Öffentlichen Quellstand erzeugen
Der Exporter erstellt ein bereinigtes ZIP mit genau einem Hauptordner `assetmanager/`:
```bash
python tools/create_github_source.py
```
Vor dem Export prüft das Skript unter anderem Versionen, Lizenzangaben, vertrauliche Laufzeitdateien und unerwünschte Produktvergleiche.
## Prüfungen
```bash
python tools/check_public_release.py
python tools/check_translations.py
python tools/validate_release.py
```
## Drittkomponenten
Die direkten Abhängigkeiten und ihre Lizenztypen sind in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) aufgeführt. Beim Docker-Build werden zusätzlich die Lizenzdateien der tatsächlich installierten Python- und Node.js-Pakete unter `/app/THIRD_PARTY_LICENSES/` gesammelt.
## Mitwirken
Beiträge und Forks sind willkommen. Hinweise zur Einreichung stehen in [CONTRIBUTING.md](CONTRIBUTING.md). Eine Einreichung ist ein Vorschlag; es besteht kein Anspruch auf Aufnahme in das offizielle Projekt.
## Sicherheit
Sicherheitsprobleme bitte nicht mit vertraulichen Details in einer öffentlichen Issue melden. Siehe [SECURITY.md](SECURITY.md).
## Lizenz
Copyright © 2026 Roland Reich
Lizenziert unter der Apache License, Version 2.0. Der vollständige Lizenztext befindet sich in [LICENSE.txt](LICENSE.txt).