Skip to main content
A big part of Freedeck is the ability to host your own Marketplace repository, in case you don’t want to publish plugins or themes on the community one.

Define a Repository

First, we need to clear up what a Marketplace Repository (or repository/repo) is. A repository is a listing of channels, where each channel is either a:
  • a Launcher version list
  • a plugin listing
  • a Companion version list
All in one.
Freedeck currently doesn’t allow the Launcher to use external sources for Launcher or Companion versioning, as it’s important to ensure bugs are only from Freedeck and its maintainers itself while it’s in beta. This functionality will be added in the future.
To read more about the API, check out the page on the Marketplace Repository API. The rest of this article will assume you know how to add plugins to a channel. You can also view the releases.freedeck.app/index.json file to understand, as that’s the main file.

Making a JSON file

Repositories are intended to be static, although they don’t have to be. As long as your site serves a JSON output in some way, you’re good to go. Make sure everything is in line, and you have:
  • A plugin channel where you distribute at least one plugin (type: repository or repository_external)
Each plugin’s manifest looks like this in a Manifest file.
The object’s key is the plugin’s ID. Once you have this, a typical simple repository looks like this:
Congratulations! As soon as you serve this JSON file, you can make it show up in Freedeck by setting a title, url, and the type of repository to Marketplace (.json): Image

Add it as a Preset!

In addition to this, you can also request to add your own repository as a preset in the marketplace. Image General rules to follow [for preset repository hosters]:
  • Don’t deceive downloaders
    • Everything you publish must have a coherent title, description.
    • Example: Downloading a plugin named Spotify should mostly control Spotify, not any other software. Use titles that you feel encompass the reach of your plugin, while maintaining clarity of its function.
  • Don’t impersonate freedeck.app
    • Your plugin or repository may be a mirror of the main repo, but you must clarify it’s not the official site.
    • If you do host a mirror of the main repository, do not inject anything into the plugins’ manifests (containing their titles, version, author, etc.).
  • (Obviously) Don’t distribute malware.
    • It goes without saying that you or a repository maintainer shouldn’t make malicious plugins.
Note that not following these rules will lead to your preset being removed from the list! These rules are set in place to help guide users, not mislead.