Publishing for APM

Publishing for APM is simple: you just host your AppImage like you normally do. If you want to take full advantage of APM’s features, follow these steps.

1. Build your AppImage

Use your existing build pipeline. You do not need to modify your AppImage or include any special manifest files.

2. Generate Metadata & Sign

Use the APM CLI to generate the signed metadata for your release. This is where you define your app’s permissions.

apm sign ./myapp.AppImage --network --filesystem="~/.myapp:rw"

This command will:

  1. Hash your AppImage.
  2. Create a metadata JSON object with the permissions you specified.
  3. Sign the metadata with your private key.
  4. Output the JSON (or save it to packages.json).

3. Host your AppImage

Upload the .AppImage (and optionally the .zsync file) to your server, GitHub Releases, or S3 bucket.

4. Announce the update

Send the signed metadata to the APM Network.

apm publish --metadata=./signed-metadata.json

Alternatively, if you are just using packages.json, update that file on your server. APM clients that subscribe to your repo will see the new version.