AI Agent Hub
Back to skills
FNNAS fnOS FPK Application Development icon

FNNAS fnOS FPK Application Development

Development Updated 2026.08.30

Paste the following prompt into your AI chat to install this skill:

Please follow https://skillhub.cn/install/skillhub.md to install @user_15292d5a/yjkj-fn-fpk.

About this skill

Problem

Building fnOS FPK apps is not like deploying a regular Linux service. An app must satisfy constraints across manifest, config/privilege, config/resource, app/ui/config, and cmd/ lifecycle scripts. Common failures include packaging with fnpack locally but missing entry points after install, ports not following wizard input, settings.conf being overwritten by the system, unclear data directory permissions, or Docker apps missing compose status checks. This skill organizes the official rules into a practical development workflow.

How It Works

The workflow centers on the FPK package structure:
- Create Native or Docker apps with fnpack, then verify x86_64 requirements, app version, and manifest fields.
- Define the runtime identity in config/privilege, and declare capabilities such as data-share, usr-local-linker, or docker-project in config/resource.
- Configure desktop, file context menu, CGI, or unified gateway entry points in app/ui/config, paying attention to port, url, protocol, allUsers, and dynamic variables.
- Implement start, stop, and status checks in cmd/main, and use lifecycle hooks such as install_callback and config_callback to handle wizard input, port persistence, and configuration migration.
- For Docker apps, place docker-compose.yaml at the declared path and let the system manage compose lifecycle.

Boundaries

This skill is based on fnOS FPK documentation and is intended for third-party Native or Docker app development. Root-privileged apps face publishing restrictions; settings.conf may be rewritten by the system, so apps should read configuration and validate paths at runtime; the unified gateway applies to fnOS V1.1.3100+, so verify the system version and gateway fields before integration.

Use Cases

  • Build a Native app on FNNAS, using fnpack to create the project and configure manifest and entry points.
  • Configure app permissions and shared directories by writing config/privilege and config/resource.
  • Debug why an installed app does not use the wizard-updated port, checking settings.conf, config_callback, and cmd/main.
  • Develop a Docker app by declaring docker-project, placing docker-compose.yaml, and implementing status checks.

Best For

  • Backend engineers maintaining private FNNAS apps who need to package Node.js or Python services as fnOS FPK.
  • In-house tool platform developers who need to configure entry points, permissions, shared directories, and lifecycle scripts.
  • Team engineers shipping Docker apps who need to handle docker-project declarations and compose status checks.
  • System engineers debugging fnOS port or path issues who need to understand settings.conf and lifecycle callbacks.