Files
Assetmanager/README.md
T

123 lines
4.2 KiB
Markdown

# AssetManager 0.5.5.28
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.
## Features
- 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
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.
## Requirements
- 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
```bash
cp .env.example .env
```
Set at least these values in `.env`:
```env
POSTGRES_PASSWORD=CHANGE_ME
SESSION_SECRET=CHANGE_ME_LONG_RANDOM
LOCAL_ADMIN_USERNAME=emergency-admin
LOCAL_ADMIN_PASSWORD=CHANGE_ME_MIN_12_CHARS
```
Then start the application:
```bash
docker compose up -d --build
```
By default, the application is available on port `8088`.
## Persistent data
Runtime data is stored in bind mounts below `data/`:
```text
data/
├── config/ application configuration
├── postgres/ PostgreSQL database
├── uploads/ uploaded files
├── logs/ logs and diagnostics
├── backups/ application backups
└── scripts/ deployed scripts
```
These directories and `.env` may contain credentials, personal data, or internal operational data and must not be committed to a public repository.
## Updating
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
docker compose up -d --build
docker compose logs --tail=100 -f
```
Detailed release notes are stored in [`docs/version-history/`](docs/version-history/README.md).
## 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
```
Before exporting, the script validates versions, license metadata, sensitive runtime files, and unwanted product-comparison references.
## Validation
```bash
python tools/check_public_release.py
python tools/check_translations.py
python tools/validate_release.py
```
## Documentation
- [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)
## Third-party components
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/`.
## Contributing
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.
## Security
Do not disclose credentials or exploitable details in a public issue. See [SECURITY.md](SECURITY.md).
## License
Copyright © 2026 Roland Reich
Licensed under the Apache License, Version 2.0. See [LICENSE.txt](LICENSE.txt) for the complete license text.