- Technical documentation
- API docs
Directory structure of a Spaceify application package
Spaceify application package is an umbrella term covering both applications and spacelets and is essentially a directory having a predefined structure (directories and files). The structure must be present in a package for it to be valid. Only packages with valid structure can be installed by the Spaceify Packet Manager (spm) to the Spaceify edge or accepted by the Spaceify registry for publishing. The umbrella term also covers the actual directory structure of application and spacelet installations on the edge. The directory structure on the edge, after the package is installed, is exactly the same as it is in the package.
Below is the required minimum structure of directories and files of an application or a spacelet.
|application||Yes||The main application directory. This directory must contain all the other directories, application files and resources.|
|application/spaceify.manifest||Yes||The applications manifest file. The filename is always spaceify.manifest.|
|application/<UnitFile>.service||Optional||The native applications can supply this systemd required file. The <UnitFile>.service is defined in the manifests systemd_unit_file field. Read more about the native applications from here.|
|application/readme.html||Optional||A HTML formatted file describing the application in detail (see subsection The readme.html file).|
|application/Dockerfile||Conditional||If docker_image field is defined int the manifest and its boolean value is true a file named Dockerfile is expected to be found from the application directory.|
|application/www||Conditional||The application www ffiles, if any. Spaceify considers this directory as the document root of the web server. The directory is required if application implements application tile or has images (see next two rows).|
|application/www/tile.html||Optional||If application implements its own custom tile, it is expected that a file named tile.html is found from application/www/ directory. See Application tiles for more information.|
|application/www/images||Conditional||The images directory is required only if images are defined in the manifest file. The images must be inside the application/www/images directory as defined in the manifests images field.|
As an example, below is the complete structure with all the directories and files.
application ├── spaceify.manifest ├── readme.html ├── Dockerfile ├── <UnitFile>.service └── www ├── tile.html └── images