General Directory Structure
All Deb application files are installed under the /usr/local/<app_id>/ directory:
/usr/local/<app_id>/
├── config.ini # 【Required】Core application configuration file
├── bin/
│ └── <binary_name> # 【Required】Backend executable
├── <app_id>.lang # 【Required】Multilingual configuration file
├── images/
│ └── icons/
│ └── <icon_file>.svg # 【Required】Application icon
├── init.d/
│ └── <system_id>.service # 【Required】Systemd service unit file
├── webui.bz2 # 【Required for WebUI applications】Frontend page archive
├── nginx/ # 【Required only for external open】
│ └── <app_id>.conf # Nginx configuration file
├── <app_id>.env # 【Optional】Environment variable configuration file
└── depends/ # 【Optional】Dependency file directory
├── bin/ # Executable files
├── lib/ # Dynamic libraries (.so)
├── etc/ # Configuration files
├── data/ # Runtime data (databases/cache/state)
└── logs/ # Logs
Mandatory Correspondences:
config.ini.id == <app_id>
config.ini.package == Package in DEBIAN/control
config.ini.system_id == systemd service unit ID (without .service suffix)
config.ini.icon == "/images/icons/<icon_file>.svg"
config.ini.path == "/<app_id>/" (WebUI Internal Open)
Requirements
- Application files are installed to
/usr/local/<app_id>/. - The
<app_id>.langfilename must correspond toconfig.ini.id. - The icon file path must correspond to
config.ini.icon. - The systemd service unit ID must match
system_idinconfig.ini. - The binary package name
Packagein the deb metadata must matchpackageinconfig.ini. - The service must be able to be started, stopped, and queried for status via
<system_id>.service.