mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-09-04 00:55:16 +03:00
Document how GNS3 loads appliance files from builtin and custom directories with priority rules, including storage locations and the design rationale that allows users to customize devices without losing changes during registry updates. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1004 B
1004 B
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| gns3-appliance-loading | GNS3 appliance file loading mechanism and storage locations |
|
GNS3 loads appliance (.gns3a) files from two locations with specific priority order:
-
Builtin appliances directory:
~/.local/share/GNS3/appliances/- Stores automatically downloaded devices from GNS3 registry
- Maintained and updated by the system automatically
-
Custom appliances directory:
~/GNS3/appliances/- Stores user-customized or modified appliance files
- Manually managed by users
Loading priority: System loads builtin appliances first, then custom appliances. If both directories contain devices with the same device_id, the custom appliance overwrites the builtin one. This design allows users to customize devices without having their modifications overwritten by automatic registry updates.
Implementation: See gns3server/controller/appliance_manager.py in the load_appliances() method (lines 314-351).