2026-08-03 21:51:54 +00:00
2026-08-03 21:51:54 +00:00
2026-08-03 21:51:54 +00:00
2026-08-02 21:28:50 +00:00
2026-08-02 21:28:50 +00:00
2026-08-02 21:28:50 +00:00
2026-08-03 21:51:54 +00:00
2026-08-03 21:51:54 +00:00

AssetManager 0.5.5.32

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

cp .env.example .env

Set at least these values in .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:

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/:

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:

docker compose down
docker compose up -d --build
docker compose logs --tail=100 -f

Detailed release notes are stored in docs/version-history/.

Creating a sanitized public source archive

The exporter creates a sanitized ZIP archive with exactly one top-level directory named assetmanager/:

python tools/create_github_source.py

Before exporting, the script validates versions, license metadata, sensitive runtime files, and unwanted product-comparison references.

Validation

python tools/check_public_release.py
python tools/check_translations.py
python tools/validate_release.py

Documentation

Third-party components

Direct dependencies and their license types are listed in 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. 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.

License

Copyright © 2026 Roland Reich

Licensed under the Apache License, Version 2.0. See LICENSE.txt for the complete license text.

S
Description
AssetManager is a self-hosted web application for managing IT equipment and other organizational assets with Meshcentral integration. The project is released under the Apache License 2.0 and may be used, modified, and redistributed for private and commercial purposes.
Readme
946 KiB
Languages
Python 62.8%
HTML 22.2%
CSS 8.6%
JavaScript 5.8%
PowerShell 0.2%
Other 0.4%