I built my own 3rd Party Synology Package Repository

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

It's been quite a while since I worked on CPHub. It was actually quite rare for me to release a beta, so I don't remember much about it. But I think setting `beta=yes` was enough for it to be displayed as a beta version in the package center.

Quote: https://help.synology.com/developer-guide/synology_package/INFO_optional_fields.html

Field Name: beta​

  • Description:If this package is considered the beta version, the beta information will be shown in Package Center.
  • Value:"yes"/"no"
  • Default Value:"no"
  • Example:None
  • DSM Requirement:6.0
 
Did CPHub include DSM 7 packages?
Yes

Did both stable and beta package versions show at the same time in the Community section for DSM 7?
As far as I remember, yes.

It's been quite a while since I worked on CPHub. It was actually quite rare for me to release a beta, so I don't remember much about it. But I think setting `beta=yes` was enough for it to be displayed as a beta version in the package center.
I think you had to explicitly mark a package as a beta when submitting it, or the "beta=yes" tag was evaluated during upload. In any case, CPHub treated beta packages separately.

I've made some progress while manually editing the package source's package index.
In my case, it's like this:

DS 1
Installed: synOCR 1.5.2 (release) ➜ Update to synOCR 1.5.99.3 BETA is available (It shouldn't be that way)

DS 2
Installed: synOCR 1.5.99.2 BETA ➜ No update is offered (even though 1.5.99.3 is available on GitHub) / Latest version online: 1.5.2
The mapping doesn't seem to be correct here.

Bildschirmfoto 2026-05-01 um 13.13.22.png

Bildschirmfoto 2026-05-01 um 13.19.25.png
 
DS 1
Installed: synOCR 1.5.2 (release) ➜ Update to synOCR 1.5.99.3 BETA is available (It shouldn't be that way)
That would be because at 2 AM UTC the GitHub workflow replaced the manual edit I made to index.json so the beta and stable versions were shown as separate packages (until you installed the beta version then it got messy).

DS 2
Installed: synOCR 1.5.99.2 BETA ➜ No update is offered (even though 1.5.99.3 is available on GitHub) / Latest version online: 1.5.2
The mapping doesn't seem to be correct here.
This should be fixed shortly. I just need to test it a bit.

Showing both beta and stable versions of the same package became to messy, so I've updated the Cloudflare worker.js (in a test package repository) to:
  1. Show just the beta version if "show beta packages" is enabled in packager center's settings.
  2. Show just the stable version if "show beta packages" is disabled in packager center's settings.
  3. Because both versions now show (one at a time) in package center with the same package name the Update button will appear when the stable version is already installed and the beta version is in the community tab (when "show beta packages" is enabled in packager center's settings).
I have not found out how to clear package center's cache, without having to reboot. Because package center shows a stale package list (until you reboot) I made a test package repository so any temporary changes I make won't negatively affect what people see from the main package repository.

Ideally your beta/pre-release version should have " beta" in the displayname so people know it's a beta version. Otherwise they don't get to see package center's [BETA] tag until after it is installed.

Code:
displayname="synOCR beta"
displayname_enu="synOCR beta"
displayname_ger="synOCR beta"
 
Idealerweise sollte Ihre Beta-/Vorabversion „Beta“ im Anhang bleiben, damit die Leute wissen, dass es sich um eine Betaversion handelt handelt. Andernfalls können sie das [BETA]-Tag des Paketzentrums erst sehen, nachdem es installiert wurde.
However, the problem remains that users cannot switch from the beta to the release version without reconfiguring their app, since they are separate versions.
 
They aren't separate packages if
Code:
package="synOCR"
is the same in both beta and stable versions.

It's just the displayname that appears in package center that needs to show it's a beta/pre-release package (because package center only shows the [BETA] after it's been installed.

Change the package source to
Code:
https://spkrepo-test.007daver.workers.dev/
and test that version.
 
Sorry, my mistake. I didn't read it carefully. 🙈
I've now updated the INFO in the current beta accordingly.
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat