Skip to content

project.yaml Configuration Reference

project.yaml is the core configuration file for UGOS Pro applications, used to define basic information, runtime configuration, and display information. When packaging the project with the ugcli tool, it validates and creates the final installation package based on this configuration file.

Basic Configuration

FieldTypeRequiredDescription
spec_versionstringYesConfiguration specification version. Current version is 2.1
app_idstringYesApplication ID used by the system to identify the application. Cannot be modified after the application is published.
Naming convention: com.company_or_organization.app_name, can only contain lowercase letters, numbers, and dots, and must start with a letter.
Example: com.mycompany.myapp
versionstringYesApplication version number in the format x.y.z, where x is the major version, y is the minor version, and z is the patch version.
Example: 0.1.0
support_archstring[]YesList of supported CPU architectures.
Valid values: amd64, arm64
tag_typesstring[]YesApplication categories for classification display.
Valid values:
- system: System Management
- media: Entertainment
- utility: Utilities
- security: Security
- download: Download
- backup: Backup
- devtool: Development Tools

Runtime Configuration

FieldTypeRequiredDescription
start_cmdstringYesStartup command for the application backend service, including the backend service executable path (relative to the application installation directory) and command-line arguments.
Example: bin/myapp_serv --port=21010
portnumberYesPort number the application backend service listens on for HTTP services.
Example: 21010
proxy_pathstringNoHTTP request path prefix for the system gateway to proxy. Used to forward frontend requests to the backend service.
For example, if set to api/v1, all requests starting with /api/v1/ will be forwarded to the backend service.
open_typestringYesHow the application interface opens.
Valid values:
- inner: Opens as an independent window within the system desktop
- tab: Opens as a new tab in the browser
depend_fw_versionstringYesMinimum required UGOS Pro system version.
Example: 1.13.0.0000

Feature Configuration

FieldTypeRequiredDescription
support_migrationbooleanNoWhether migration of the installation directory is supported.
Default: false
allow_add_access_pathbooleanNoWhether users can authorize the application to access Personal Folder and Shared Folder.
Default: false

Permission Configuration

FieldTypeRequiredDescription
permissionsstring[]NoList of system permissions required by the application.

Supported Permission Types

Permission IdentifierDescription
SYSTEM.EXEC_SYSTEM_COMMANDExecute system commands. Allows execution of built-in commands in the system's /usr/bin and /usr/sbin directories
NETWORK.ACCESS_INTERNETAccess network. Allows creating network connections to communicate with external internet services

Application Custom Configuration (parameters)

The parameters field defines custom configuration items for the application, allowing users to configure them during installation or in the application configuration page of "Control Panel".

Configuration Item Structure

FieldTypeRequiredDescription
keystringYesConfiguration item identifier, used to reference the configuration in the application
typestringYesConfiguration item type.
Valid values:
- string: String
- number: Number
- path: Path
- password: Password
requiredbooleanNoWhether the field is required.
Default: false
changeablebooleanNoWhether the configuration can be modified after installation.
Default: false
multibooleanNoWhether multiple values are supported.
Default: false
i18nobjectYesMultilingual display information for the configuration item. See details below

Configuration Item Localization (parameters[].i18n)

FieldTypeRequiredDescription
namestringYesConfiguration item name
descriptionstringYesConfiguration item description (additional notes, input guidelines, etc.)

Application Display Information Localization (i18n)

The i18n field defines display information for the application.

FieldTypeRequiredDescription
namestringYesApplication display name
descriptionstringYesApplication description
authorstringYesApplication developer
officialstringNoApplication official website URL
helpstringNoHelp documentation URL
publisherstringNoApplication publisher
publisher_linkstringNoPublisher official website URL

Supported languages:

text
en-US
zh-CN
de-DE
ja-JP
fr-FR
nl-NL
pt-PT
es-ES
it-IT
ko-KR
zh-TW

Complete Configuration Example (project.yaml)

yaml
# Configuration specification version
spec_version: 2.1
# Application ID
app_id: com.mycompany.myapp
# Application version
version: 0.1.0
# Supported CPU architectures
support_arch:
  - amd64
  - arm64
# Startup command
start_cmd: bin/myapp_serv --port=21010
# Service port
port: 21010
# Proxy path prefix
proxy_path: api
# Open type
open_type: inner
# Application categories
tag_types:
  - utility
  - devtool
# Required system version
depend_fw_version: 1.12.0.0000
# Support migration
support_migration: true
# Allow users to authorize access to personal folders and shared folders
allow_add_access_path: true
# Permission declarations
permissions:
  - SYSTEM.EXEC_SYSTEM_COMMAND
  - NETWORK.ACCESS_INTERNET
# Custom parameters
parameters:
  - key: ACCOUNT
    type: string
    required: true
    changeable: true
    i18n:
      en-US:
        name: Login Account
        description: 6-8 characters
      zh-CN:
        name: 登录账号
        description: 长度6-8位
# Localization information
i18n:
  en-US:
    name: My APP
    description: My APP Description
    author: My Company
    official: https://myapp.example.com
    help: https://myapp.example.com/help
    publisher: My Company
    publisher_link: https://mycompany.example.com
  zh-CN:
    name: 我的应用
    description: 应用描述
    author: 演示应用开发者
    official: https://myapp.example.com.cn
    help: https://myapp.example.com.cn/help
    publisher: 演示应用发布者
    publisher_link: https://mycompany.example.com.cn