Translate repository documentation and reorganize version history

This commit is contained in:
2026-08-03 19:47:19 +00:00
parent 5c5edbaac4
commit 8a9115af83
289 changed files with 2544 additions and 3393 deletions
+56 -46
View File
@@ -1,30 +1,30 @@
# AssetManager 0.5.5.27
# AssetManager 0.5.5.28
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.
AssetManager is a self-hosted web application for managing IT equipment and other organizational assets. The project is released under the **Apache License 2.0** and may be used, modified, and redistributed for private and commercial purposes.
## Funktionsumfang
## Features
- 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
- configurable asset categories, fields, and status values
- asset lists, detail views, history, assignment, and return workflows
- Excel import and export, bulk changes, duplicate merging, and tree views
- hardware and software inventory
- job definitions and job execution with status tracking, callbacks, retries, and logs
- local user management and optional LDAP authentication
- protected local emergency administrator even when LDAP is enabled
- roles, visibility rules, translations, dark mode, and configurable appearance
- integrated backup and restore functions
- optional MeshCentral integration through the MeshCtrl command-line interface
## MeshCentral-Integration
## 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.
The integration is optional. AssetManager uses MeshCtrl for supported device queries and remote jobs. It does not access the MeshCentral database directly. MeshCentral and MeshCtrl are independent third-party projects and are not part of this repository; they are installed as dependencies during the Docker build.
## Voraussetzungen
## Requirements
- 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
- Docker Engine with Docker Compose
- a suitable DNS name and HTTPS reverse proxy are recommended for production installations
- optionally, a reachable MeshCentral instance
- optionally, LDAP or Active Directory
## Installation
@@ -32,7 +32,7 @@ Die Integration ist optional. AssetManager verwendet MeshCtrl für unterstützte
cp .env.example .env
```
Ändere in `.env` mindestens:
Set at least these values in `.env`:
```env
POSTGRES_PASSWORD=CHANGE_ME
@@ -41,33 +41,33 @@ LOCAL_ADMIN_USERNAME=emergency-admin
LOCAL_ADMIN_PASSWORD=CHANGE_ME_MIN_12_CHARS
```
Danach:
Then start the application:
```bash
docker compose up -d --build
```
Standardmäßig ist die Anwendung unter Port `8088` erreichbar.
By default, the application is available on port `8088`.
## Persistente Daten
## Persistent data
Die Laufzeitdaten werden über Bind-Mounts unter `data/` gespeichert:
Runtime data is stored in bind mounts below `data/`:
```text
data/
├── config/ Anwendungskonfiguration
├── postgres/ PostgreSQL-Datenbank
├── uploads/ hochgeladene Dateien
├── logs/ Protokolle und Diagnosedaten
├── backups/ Anwendungssicherungen
└── scripts/ bereitgestellte Skripte
├── config/ application configuration
├── postgres/ PostgreSQL database
├── uploads/ uploaded files
├── logs/ logs and diagnostics
├── backups/ application backups
└── scripts/ deployed scripts
```
Diese Inhalte sowie `.env` enthalten möglicherweise Zugangsdaten oder personenbezogene beziehungsweise betriebliche Daten und dürfen nicht in ein öffentliches Repository aufgenommen werden.
These directories and `.env` may contain credentials, personal data, or internal operational data and must not be committed to a public repository.
## Aktualisierung
## Updating
Vor einer Aktualisierung immer `.env` und den gesamten Ordner `data/` sichern. Danach den neuen Quellstand über den bestehenden Projektordner kopieren und ausführen:
Always back up `.env` and the complete `data/` directory before updating. Copy the new `assetmanager/` directory over the existing project directory and run:
```bash
docker compose down
@@ -75,17 +75,19 @@ docker compose up -d --build
docker compose logs --tail=100 -f
```
## Öffentlichen Quellstand erzeugen
Detailed release notes are stored in [`docs/version-history/`](docs/version-history/README.md).
Der Exporter erstellt ein bereinigtes ZIP mit genau einem Hauptordner `assetmanager/`:
## Creating a sanitized public source archive
The exporter creates a sanitized ZIP archive with exactly one top-level directory named `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.
Before exporting, the script validates versions, license metadata, sensitive runtime files, and unwanted product-comparison references.
## Prüfungen
## Validation
```bash
python tools/check_public_release.py
@@ -93,20 +95,28 @@ python tools/check_translations.py
python tools/validate_release.py
```
## Drittkomponenten
## Documentation
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.
- [Client communication and software deployment architecture](docs/architecture/SOFTWARE-CLIENT-ARCHITECTURE.md)
- [Version history](docs/version-history/README.md)
- [Contributing](CONTRIBUTING.md)
- [Security policy](SECURITY.md)
- [Third-party notices](THIRD_PARTY_NOTICES.md)
## Mitwirken
## Third-party components
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.
Direct dependencies and their license types are listed in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md). During the Docker build, license files from the installed Python and Node.js packages are collected under `/app/THIRD_PARTY_LICENSES/`.
## Sicherheit
## Contributing
Sicherheitsprobleme bitte nicht mit vertraulichen Details in einer öffentlichen Issue melden. Siehe [SECURITY.md](SECURITY.md).
Contributions and forks are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md). A submission is a proposal and does not create an obligation to include it in the official project.
## Lizenz
## Security
Do not disclose credentials or exploitable details in a public issue. See [SECURITY.md](SECURITY.md).
## License
Copyright © 2026 Roland Reich
Lizenziert unter der Apache License, Version 2.0. Der vollständige Lizenztext befindet sich in [LICENSE.txt](LICENSE.txt).
Licensed under the Apache License, Version 2.0. See [LICENSE.txt](LICENSE.txt) for the complete license text.