Developer Get Started

APM (AppImage Package Manager) allows you to distribute your Linux applications without building separate packages for every distribution.

1. Build your AppImage

Use your existing build process to create a standard .AppImage file. We recommend providing a .zsync file alongside it to enable efficient delta updates.

2. Generate Metadata & Sign

Instead of a file inside the package, APM uses external metadata to describe your application and its sandbox permissions. Use the APM CLI to generate and sign this metadata.

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

This will create a signed JSON object that ties your AppImage’s hash to the permissions you’ve granted.

3. Set up DNS Verification

To establish trust, publish your public Ed25519 key as a DNS TXT record on your domain.

_apm.yourdomain.com  TXT  "ed25519=<your-public-key>"

See DNS Verification for details.

4. Host and Publish

Host your AppImage and its metadata on your domain or GitHub. Then, announce the new version to the APM Network so users can discover it.

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

Next steps