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
- Package Metadata reference
- Optimizing for APM
- DNS Verification details
- APM Network integration