Hosted in the EU. 7-day free trial.

Ship every build.
Reach every platform.

Your entire release pipeline, in one place. Upload a build, choose your audience, and deliver signed updates to every platform. We run the infrastructure. You keep shipping.

Signed updates. Staged rollouts. No egress fees.

ReleaseDesk dashboard ReleaseDesk dashboard

Every platform, every format

One release desk for all your builds

  • Sparkle / WinSparklemacOS and Windows appcast.dmg.zip.exe
  • electron-updaterlatest.yml feeds.exe.dmg.AppImage
  • Tauri updaterSigned update JSON.msi.app.tar.gz
  • MSIX appinstallerWindows packages.msix.appinstaller
  • AppImage zsyncDelta updates on Linux.AppImage.zsync
  • AndroidIn-app update checks.apk.aab
  • Generic signed JSONAny platform, any client.json
  • AndroidPhones and tablets.apk.aab
  • iOSAd hoc and enterprise.ipa
  • macOSApple silicon and Intel.dmg.pkg.zip
  • Windowsx64 and ARM64.exe.msi.msix
  • LinuxDesktop and servers.AppImage.deb.rpm

Everything between CI and your users.

Releases and artifacts

Upload once per platform. Bundle id, version, min OS, architecture and signing info are extracted for you.

MyApp-2.4.0.apkAndroidparsed
MyApp-2.4.0.dmgmacOSparsed
MyApp-2.4.0-setup.exeWindowsparsed

Staged rollouts

Release to 5%, watch adoption, then widen or halt.

2.4.0 rollout25%

Channels

Promote a build between channels without re-uploading.

nightlybetastable

Signed update feeds

Sparkle, electron-updater, Tauri, appinstaller and a generic signed feed.

/feeds/myapp/stable/appcast.xml

Public download pages

Shareable links that detect the visitor's platform and serve the right file.

Download for macOS

Depots

Split big apps into independently versioned content bundles: base game, language packs, HD textures. Each release pins a depot version; unchanged depots share storage.

baseall platformsv2.4.0
voice-enoptionalv2.3.1 inherited
hd-textureswindows x64v2.4.0

App assets and payloads

Attach symbols, checksums, licenses and update payloads (zip, tar.gz, tar.zst) to any release. Every file is hashed and signed, and each payload gets a file manifest.

MyApp-2.4.0.app.tar.gz payload signed
MyApp.dSYM.zip symbols sha256
checksums.txt checksums sha256

Smaller updates with deltas

File-level diffs between releases ship only what changed, and the SDK verifies and applies them in place. Users download megabytes instead of gigabytes.

Manifest difftar.zst deltasSignature verificationSwap or overlay applyFallback to full download

CI-first CLI

Upload from any pipeline with a scoped API token.

$ rdesk upload ./MyApp.dmg --channel beta
✓ parsed MyApp 2.4.0 (macOS, universal)
✓ published to beta at 25%

Download and update stats

Installs, active versions and rollout progress per app and channel.

Webhooks and email

Notify testers and your own systems the moment a release ships.

POST https://ci.example.com/hooks
{ "event": "release.published",
  "version": "2.4.0", "channel": "beta" }

Managed and secure

EU hosting, encrypted storage, signed downloads and GitHub sign-in. No servers for you to run or patch.

EU hostingSigned URLsGitHub sign-inDPA available

A container registry, with no egress fees

Push images next to your app builds and pull them anywhere. Storage is the only thing you pay for; downloads are never metered.

OCI-compatible registry

Served from the same origin under /v2/. Works with docker, podman, skopeo, crane and Kubernetes. Private by default, public repositories allow anonymous pulls, and CI pushes with a scoped token.

$ rdesk registry login
$ docker push registry.example.com/acme/api:2.4.0
$ docker pull registry.example.com/acme/api:2.4.0

Egress-free storage

Installers, update payloads and image layers are served with no bandwidth caps and no per-download charges.

$0 egressUnlimited downloadsUnlimited pulls

From build to update in three steps.

  1. Upload

    Push a build from CI or drop it into the dashboard. Metadata is extracted and the files are stored.

  2. Roll out

    Pick a channel and start with a small audience. Widen the rollout when you are ready, or pause it.

  3. Update

    The app checks its feed, verifies the signature and installs the build you approved.

One build pipeline, five platforms A CI build flows through ReleaseDesk to signed Android, iOS, macOS, Windows and Linux releases. CI / CLI ReleaseDesk Parse · Sign · Publish Android iOS macOS Windows Linux

CI and automation

Wire it into CI in five minutes

Two environment variables and the rdesk CLI are all a pipeline needs. Upload, promote, roll out and notify testers from the same job, on any CI system.

  • Works with GitHub Actions (ReleaseDesk Publish), GitLab CI, Jenkins, or plain shell.
  • Tokens are scoped, revocable and can expire.
  • Everything the CLI does is also a documented REST endpoint.
jobs:
  release:
    runs-on: ubuntu-latest
    env:
      RD_URL: https://releases.example.com
      RD_TOKEN: ${{ secrets.RD_TOKEN }}
    steps:
      - run: rdesk upload ./dist/MyApp.dmg --channel beta
      - run: rdesk promote --release $ID --channel stable --percent 10
      - run: rdesk distribute --release $ID --group internal-qa

Scoped API tokens

Give CI only what it needs. Restrict a token to one app, pick scopes, and set an expiry.

readuploadpromoteadmin

Signed webhooks

Get a POST on release.created and release.promoted. Every payload carries an HMAC-SHA256 signature you can verify, with optional custom templates.

release.createdrelease.promotedsha256=…

Testers and groups

Organize testers into groups, invite them by email, and import up to 500 addresses in one request. Testers use a separate portal, with no GitHub account needed.

POST /testers/import
{ "emails": ["alex@example.com", …500],
  "groupIds": ["tgr_456"] }

Google Play and App Store Connect

Push builds to Play tracks and TestFlight straight from the same release, then manage staged and phased rollouts from the CLI.

rdesk play push --release $ID --track beta --percent 20
rdesk asc testflight --publication $PUB --group QA

Simple pricing. Try it free for 7 days.

Pick a plan and try it free for 7 days. Cancel anytime.

Billing interval

Starter

For a single app in production

$9/mo

Billed monthly

Start 7-day free trial

Includes

  • 2 apps, 3 members
  • 5 GB storage
  • Free egress, unlimited downloads
  • 100 testers
  • Channels, rollouts, signed feeds
  • Community support

Pro

Most popular

For products in production

$19/mo

Billed monthly

Start 7-day free trial

Everything in Starter, plus

  • Free egress, unlimited downloads
  • Container registry, 10 repositories
  • 2,000 testers
  • Custom branding
  • Custom download domain
  • Webhooks and CI tokens
  • App Store Connect, Google Play
  • Email support, 2 business days

Team

For growing teams

$79/mo

Billed monthly

Start 7-day free trial

Everything in Pro, plus

  • Free egress, unlimited downloads
  • Container registry, unlimited repositories
  • 10,000 testers
  • GitHub org and team sync
  • 400 days of statistics
  • Uploads up to 5 GB
  • Priority support, 1 business day

Enterprise

For regulated organizations

Custom

Annual contract

Contact sales

Everything in Team, plus

  • SLA and signed DPA
  • Custom limits and retention
  • Dedicated support

Prices in USD, excluding taxes. 14-day refund policy. Compare all limits

Frequently asked questions

Is there a free trial?
Yes. Every paid plan starts with a 7-day free trial. Cancel before it ends and you are not charged. Published releases and update feeds keep working if you do not subscribe, but new uploads are paused.
What do I need to get started?
Just a GitHub account. Create an organization, upload a build from the dashboard or CI, and share the download page.
Where are my builds stored?
In encrypted object storage in the EU. Downloads are served through short-lived, signed URLs.
How do people sign in?
With GitHub OAuth, restricted to the organizations you allow. Testers can also be invited to a tester portal without a dashboard account.
Can I use it for production, not only testers?
Yes. Channels, staged rollouts and signed update feeds are built for production distribution, with public download pages for your users.
Which update frameworks are supported?
Sparkle and WinSparkle, electron-updater, Tauri, MSIX appinstaller, AppImage zsync, Android, and a generic signed feed with a small client SDK.
Can I automate uploads from CI?
Yes. The rdesk CLI and the REST API accept scoped API tokens, so any CI system can upload builds and promote releases.
How do I back it up?
Back up the data directory (SQLite and local files) or your bucket. The docs include a step-by-step backup and restore guide.

Own your release pipeline.

Start your 7-day free trial and ship your next build in minutes.