Caution
You are not reading the latest stable version of this documentation. If you want up-to-date information, please have a look at 0.3.5.x.
This guide outlines a checklist of steps to complete in order to package a service for StartOS. For a more in depth example, visit the build your first package guide.
Create or select project
Build project
Cross compile for armv8/aarch64 if necessary
Create Dockerfile and docker entrypoint file
Add build steps, compiled executables, assets, etc in Dockerfile and specify run command in docker entrypoint, handling signal exiting if the service does not already do this gracefully
Create Manifest file
Create instructions file
Create icon file
Add license
Package all components into s9pk using embassy-sdk
Verify package components using embassy-sdk
Create a wrapper repository on GitHub to host all package assets for review
(Optional) Add all package build steps to a Makefile for replicability
Sideload
<package-id>.s9pk
onto StartOSInstall package using embassy-cli
Start package using embassy-cli, or in the UI
Check logs to see if errors
Ensure service is reachable/launchable
(Optional) Ensure data persists after stopping and restarting service.