Feature comparison

Feature Satis
Web dashboard Yes No
Composer v2 API Yes No
Token auth Yes No
Webhook auto-sync Yes No
Git-based mirroring Yes No
Monorepo support Yes No
User management Yes No
Registry mirrors Yes No
Self-hosted Yes Yes
Open source Yes Yes
Static JSON output No Yes
Zero dependencies No Yes

Static files vs a real registry

Satis generates static JSON files that you host on a web server. Every time you add or update a package, you need to re-run Satis to regenerate the files. Pricore is a running application: it responds to webhooks, updates automatically, and serves the Composer v2 API natively. No cron jobs, no manual rebuilds.

Authentication and access control

Satis has no built-in authentication. If you want to restrict access to your packages, you need to configure HTTP auth on your web server separately. Pricore provides token-based authentication out of the box, with per-user access tokens you can manage from the dashboard.

When Satis is enough

Satis is a good fit if you have a small number of packages, a single developer, and don't need access control or a dashboard. It's simple and has no runtime dependencies. But as soon as your team grows or you need features like webhooks, user management, or a web interface, Satis starts to feel limiting.

Upgrading from Satis

If you're outgrowing Satis, migrating to Pricore is straightforward. Add your repositories to Pricore, update your composer.json to point at your new Pricore instance, and you're done. Composer doesn't care whether the registry behind the URL is Satis or Pricore. If you want to keep using your existing Satis repository alongside Pricore, you can set it up as a registry mirror. Pricore will import the packages automatically.

Ready to upgrade?

Get started with Pricore. Self-host for free or try Cloud with a 14-day free trial.