Skip to main content

Grafana Sync - Releases

← App details

Nextcloud 34

Grafana Sync 1.0.0
Release Details
UpdatedSept. 7, 2026, 7:54 p.m.
Changelog

The first release. Everything is new, which is why there is no Changed or Fixed below — both are relative to a version somebody is running, and there isn't one. The build history is in saga/.

Added

  • Map a Grafana folder to a Nextcloud folder. Its subfolders arrive as folders and its dashboards as .grafana files, wearing the Grafana icon and the dashboard's own dates. Backed by a Team Folder or a plain shared folder.

  • Real folders, all the way down. The whole tree mirrors, however deep, in both directions. A folder becomes a Grafana folder when a dashboard lands in it; one holding no dashboards stays an ordinary folder the app never touches.

  • Every file gesture reaches Grafana: create, edit, rename, move between folders or mappings, copy, delete, restore and purge.

  • A name is one value in three places. The filename, the JSON title and the Grafana title never disagree, whichever one you changed.

  • Exactly one file per dashboard. Grafana lets dashboards in one folder share a title; their files take a numbered suffix and keep it, and no later sync shuffles which is which.

  • Nothing is matched on filename. Every file carries its dashboard's uid, so renaming, moving, copying, trashing and restoring never break the link, and re-running a sync never duplicates anything.

  • A recycle bin Grafana never had. Name any ordinary Grafana folder as the bin and trashing a dashboard file parks its dashboard there instead of deleting it — id, URL and history kept. Restore the file and it comes straight back out. Only emptying the Nextcloud trash deletes anything for good.

  • Restore a trashed folder and its dashboards come back with it, keeping the uids they left with. A folder that also holds a file this app never managed keeps its trash entry when its dashboards are purged, so that file is still there to restore.

  • It works from the Grafana side too. Drag a parked dashboard back out of the bin and its trashed file returns; purge the bin and the trashed files follow it out of existence.

  • Tags are one set on three surfaces — the file, the JSON and Grafana — and any of them can be the one you touched. Folders carry them too, to whatever depth.

  • Sync or Link, chosen per mapping. sync holds the complete dashboard JSON, so the folder doubles as a backup you can open offline; link holds a pointer that costs nothing and is read-only from this side.

  • Sync to Grafana turns .grafana files Grafana has never seen into real dashboards, subfolders included.

  • Open in Grafana is the default click; the raw JSON opens in the text editor, which is a real editing surface here because a dashboard is its JSON.

  • Scheduled pulls, one-shot buttons for either direction, and a connection test.

  • Every admin action has an occ command, so the app can be configured headlessly.

  • Grafana uids are published over WebDAV and indexed for search.

Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBzCCAu8CAhP3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwOTA0MTI1NDQ1WhcNMzYxMjEwMTI1NDQ1WjAXMRUwEwYD
VQQDDAxncmFmYW5hX3N5bmMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDQurkhCnN4X/K4eSe/SNcoJ1SXWcYAmF6eGHgTfSVqjQuebjZhUCkqbJ6R/7iC
IyOQU0+z/4xjW2Vrn2ys53R4MjPZ4q2XKUmAxwGo+M3q4plVGCUuSClwzUgi1KKy
nNMRiIuVsbFFgt1iaBPj1uFXvWC8xxgy0ccXl1hwd+3TrkFFTfiJFIF+FWhinerE
1xCkZVECkortBWoG97VQmn8Ba5tDwoADspiTstxOyn535B61dI5VbxfjulMP6Iqp
tLGEPk+WwO/5C4bMVqhhV5L0+xt2NEteLDmBuKRbV/gwjPSUwprTNxD8tba6IqEt
bQdRjlqwx4zwbEok/8+7Wj1erZH57ui5BOOX3DXErw16NOBODUzxTtbD54ATap2c
90RoXzBUam+MT7+ukDpQEhJ8FegPTaosfzTgfthgFixpjF/EyVj5qT0ulgR747Xu
W1YXeWZ9vdCw3cT36cNdaF8CWifRj/CNprMcHs+63vla6A+QaOQCjDWpnU+7Lcpm
uJqsrr3xt52a3MXKCJ1VlbyOoGFhUU/yC+Uf+d7w2bnSELUGUjTAuEME65nwI+0e
6wen3AhZ1FFxqgJYzGq0hd6y/uLDsC/Us+ej9W+M30b0y2RADvc37OCgW5icGVQY
mStqwVJVcIXzju4X6K+IgfoABWqTbFuu45jLumVCkgQ7CQIDAQABMA0GCSqGSIb3
DQEBCwUAA4IBAQAVRgXhCAfrowGwMyTk3S1iffSz4pbusLImbYG4w00GOLmmvBxu
g/RmiItZ/faqBs9QY1UD4v4IcMWetP0FK/CEBeECBXzbu6wjiYfX4uSc/Qgo1zMi
tlPnTFlMPQAjleqFJx6Z637xJyL3AVCFj/bgIidb4SLa1TMpgyITgVhQ8H9k0Yth
XKERQhxP6kI+gRIXQGezvHuqglYBlq5hIOkcHYiQMmC0NVzicRleFCsQ5XEjMeFN
pcjRboAVnOtZJqHaru7RzBoRabOU4FQKImbcc6FD4rgg99BRKdYKLPdmMhoUiG4o
EIkFHCVNSkDZ3F6In7jrZckkiu1WnHRxq+31
-----END CERTIFICATE-----
SignatureQ04jDMMaIOXUJ0EX50t6+3ise9yIts7AauJLcrgKx0zVSTDiK5D7tRd+nsNArpjhpjNrXHBT2lACzanixYvkviKBlXtUfpH+KVTt9axZuf1CCrwDsomXhcCE5CPGX9Fhc1TiZrwTsMxKq89q7b3zzOas/GlmKuUqat4xMCPe3QUSIuoE7pfzXh7IoBqTcA27WdWy6hFbFKAi06xh/7r/qA7J0kVTeAXyT+/zYwRZDQ7sfoG61PdNbw4fhiLfKUxb4pCr3zRIkVxqirWIKwwd6PmGtyMLmr6LEw1QBCHDpCf6mEz+ndPti7JDMgVw0fkJEnYbk/FC9Vy5t2fGhgJJpwvojOtFSJO9PKBedJ2EpMtbCUMgVcpKA+9thdG4uqDlz+7W0A9VB2gK0mdDpXNRWJ6ekeCmXVaShelm+w6yjhMH/7Hf/5+IL9oettDPD6CHdTiauKpNrcEIx5QdHEGR79cDge37OlcKLQtTUH0VZ8+WkgXLT/3YUaOiY/avN5FS28rFprpfeSfKJqlMJt04/0BpnXEKu3PyRTfBOiommOedy6KKFSLBult80kGnGPaMEbqns4Q6GH2bNcgoHzfYK14Z+ZBqzVwLilhlFWFcgk86oRtlkEhZvcV7iGYZAlTQ1IoWfkhi5HsNxIXXBL3/wJpAcmBQrhYDRM0TaSt1KLk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32

Nextcloud 33

Grafana Sync 1.0.0
Release Details
UpdatedSept. 7, 2026, 7:54 p.m.
Changelog

The first release. Everything is new, which is why there is no Changed or Fixed below — both are relative to a version somebody is running, and there isn't one. The build history is in saga/.

Added

  • Map a Grafana folder to a Nextcloud folder. Its subfolders arrive as folders and its dashboards as .grafana files, wearing the Grafana icon and the dashboard's own dates. Backed by a Team Folder or a plain shared folder.

  • Real folders, all the way down. The whole tree mirrors, however deep, in both directions. A folder becomes a Grafana folder when a dashboard lands in it; one holding no dashboards stays an ordinary folder the app never touches.

  • Every file gesture reaches Grafana: create, edit, rename, move between folders or mappings, copy, delete, restore and purge.

  • A name is one value in three places. The filename, the JSON title and the Grafana title never disagree, whichever one you changed.

  • Exactly one file per dashboard. Grafana lets dashboards in one folder share a title; their files take a numbered suffix and keep it, and no later sync shuffles which is which.

  • Nothing is matched on filename. Every file carries its dashboard's uid, so renaming, moving, copying, trashing and restoring never break the link, and re-running a sync never duplicates anything.

  • A recycle bin Grafana never had. Name any ordinary Grafana folder as the bin and trashing a dashboard file parks its dashboard there instead of deleting it — id, URL and history kept. Restore the file and it comes straight back out. Only emptying the Nextcloud trash deletes anything for good.

  • Restore a trashed folder and its dashboards come back with it, keeping the uids they left with. A folder that also holds a file this app never managed keeps its trash entry when its dashboards are purged, so that file is still there to restore.

  • It works from the Grafana side too. Drag a parked dashboard back out of the bin and its trashed file returns; purge the bin and the trashed files follow it out of existence.

  • Tags are one set on three surfaces — the file, the JSON and Grafana — and any of them can be the one you touched. Folders carry them too, to whatever depth.

  • Sync or Link, chosen per mapping. sync holds the complete dashboard JSON, so the folder doubles as a backup you can open offline; link holds a pointer that costs nothing and is read-only from this side.

  • Sync to Grafana turns .grafana files Grafana has never seen into real dashboards, subfolders included.

  • Open in Grafana is the default click; the raw JSON opens in the text editor, which is a real editing surface here because a dashboard is its JSON.

  • Scheduled pulls, one-shot buttons for either direction, and a connection test.

  • Every admin action has an occ command, so the app can be configured headlessly.

  • Grafana uids are published over WebDAV and indexed for search.

Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBzCCAu8CAhP3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwOTA0MTI1NDQ1WhcNMzYxMjEwMTI1NDQ1WjAXMRUwEwYD
VQQDDAxncmFmYW5hX3N5bmMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDQurkhCnN4X/K4eSe/SNcoJ1SXWcYAmF6eGHgTfSVqjQuebjZhUCkqbJ6R/7iC
IyOQU0+z/4xjW2Vrn2ys53R4MjPZ4q2XKUmAxwGo+M3q4plVGCUuSClwzUgi1KKy
nNMRiIuVsbFFgt1iaBPj1uFXvWC8xxgy0ccXl1hwd+3TrkFFTfiJFIF+FWhinerE
1xCkZVECkortBWoG97VQmn8Ba5tDwoADspiTstxOyn535B61dI5VbxfjulMP6Iqp
tLGEPk+WwO/5C4bMVqhhV5L0+xt2NEteLDmBuKRbV/gwjPSUwprTNxD8tba6IqEt
bQdRjlqwx4zwbEok/8+7Wj1erZH57ui5BOOX3DXErw16NOBODUzxTtbD54ATap2c
90RoXzBUam+MT7+ukDpQEhJ8FegPTaosfzTgfthgFixpjF/EyVj5qT0ulgR747Xu
W1YXeWZ9vdCw3cT36cNdaF8CWifRj/CNprMcHs+63vla6A+QaOQCjDWpnU+7Lcpm
uJqsrr3xt52a3MXKCJ1VlbyOoGFhUU/yC+Uf+d7w2bnSELUGUjTAuEME65nwI+0e
6wen3AhZ1FFxqgJYzGq0hd6y/uLDsC/Us+ej9W+M30b0y2RADvc37OCgW5icGVQY
mStqwVJVcIXzju4X6K+IgfoABWqTbFuu45jLumVCkgQ7CQIDAQABMA0GCSqGSIb3
DQEBCwUAA4IBAQAVRgXhCAfrowGwMyTk3S1iffSz4pbusLImbYG4w00GOLmmvBxu
g/RmiItZ/faqBs9QY1UD4v4IcMWetP0FK/CEBeECBXzbu6wjiYfX4uSc/Qgo1zMi
tlPnTFlMPQAjleqFJx6Z637xJyL3AVCFj/bgIidb4SLa1TMpgyITgVhQ8H9k0Yth
XKERQhxP6kI+gRIXQGezvHuqglYBlq5hIOkcHYiQMmC0NVzicRleFCsQ5XEjMeFN
pcjRboAVnOtZJqHaru7RzBoRabOU4FQKImbcc6FD4rgg99BRKdYKLPdmMhoUiG4o
EIkFHCVNSkDZ3F6In7jrZckkiu1WnHRxq+31
-----END CERTIFICATE-----
SignatureQ04jDMMaIOXUJ0EX50t6+3ise9yIts7AauJLcrgKx0zVSTDiK5D7tRd+nsNArpjhpjNrXHBT2lACzanixYvkviKBlXtUfpH+KVTt9axZuf1CCrwDsomXhcCE5CPGX9Fhc1TiZrwTsMxKq89q7b3zzOas/GlmKuUqat4xMCPe3QUSIuoE7pfzXh7IoBqTcA27WdWy6hFbFKAi06xh/7r/qA7J0kVTeAXyT+/zYwRZDQ7sfoG61PdNbw4fhiLfKUxb4pCr3zRIkVxqirWIKwwd6PmGtyMLmr6LEw1QBCHDpCf6mEz+ndPti7JDMgVw0fkJEnYbk/FC9Vy5t2fGhgJJpwvojOtFSJO9PKBedJ2EpMtbCUMgVcpKA+9thdG4uqDlz+7W0A9VB2gK0mdDpXNRWJ6ekeCmXVaShelm+w6yjhMH/7Hf/5+IL9oettDPD6CHdTiauKpNrcEIx5QdHEGR79cDge37OlcKLQtTUH0VZ8+WkgXLT/3YUaOiY/avN5FS28rFprpfeSfKJqlMJt04/0BpnXEKu3PyRTfBOiommOedy6KKFSLBult80kGnGPaMEbqns4Q6GH2bNcgoHzfYK14Z+ZBqzVwLilhlFWFcgk86oRtlkEhZvcV7iGYZAlTQ1IoWfkhi5HsNxIXXBL3/wJpAcmBQrhYDRM0TaSt1KLk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32

Nextcloud 32

Grafana Sync 1.0.0
Release Details
UpdatedSept. 7, 2026, 7:54 p.m.
Changelog

The first release. Everything is new, which is why there is no Changed or Fixed below — both are relative to a version somebody is running, and there isn't one. The build history is in saga/.

Added

  • Map a Grafana folder to a Nextcloud folder. Its subfolders arrive as folders and its dashboards as .grafana files, wearing the Grafana icon and the dashboard's own dates. Backed by a Team Folder or a plain shared folder.

  • Real folders, all the way down. The whole tree mirrors, however deep, in both directions. A folder becomes a Grafana folder when a dashboard lands in it; one holding no dashboards stays an ordinary folder the app never touches.

  • Every file gesture reaches Grafana: create, edit, rename, move between folders or mappings, copy, delete, restore and purge.

  • A name is one value in three places. The filename, the JSON title and the Grafana title never disagree, whichever one you changed.

  • Exactly one file per dashboard. Grafana lets dashboards in one folder share a title; their files take a numbered suffix and keep it, and no later sync shuffles which is which.

  • Nothing is matched on filename. Every file carries its dashboard's uid, so renaming, moving, copying, trashing and restoring never break the link, and re-running a sync never duplicates anything.

  • A recycle bin Grafana never had. Name any ordinary Grafana folder as the bin and trashing a dashboard file parks its dashboard there instead of deleting it — id, URL and history kept. Restore the file and it comes straight back out. Only emptying the Nextcloud trash deletes anything for good.

  • Restore a trashed folder and its dashboards come back with it, keeping the uids they left with. A folder that also holds a file this app never managed keeps its trash entry when its dashboards are purged, so that file is still there to restore.

  • It works from the Grafana side too. Drag a parked dashboard back out of the bin and its trashed file returns; purge the bin and the trashed files follow it out of existence.

  • Tags are one set on three surfaces — the file, the JSON and Grafana — and any of them can be the one you touched. Folders carry them too, to whatever depth.

  • Sync or Link, chosen per mapping. sync holds the complete dashboard JSON, so the folder doubles as a backup you can open offline; link holds a pointer that costs nothing and is read-only from this side.

  • Sync to Grafana turns .grafana files Grafana has never seen into real dashboards, subfolders included.

  • Open in Grafana is the default click; the raw JSON opens in the text editor, which is a real editing surface here because a dashboard is its JSON.

  • Scheduled pulls, one-shot buttons for either direction, and a connection test.

  • Every admin action has an occ command, so the app can be configured headlessly.

  • Grafana uids are published over WebDAV and indexed for search.

Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBzCCAu8CAhP3MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwOTA0MTI1NDQ1WhcNMzYxMjEwMTI1NDQ1WjAXMRUwEwYD
VQQDDAxncmFmYW5hX3N5bmMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDQurkhCnN4X/K4eSe/SNcoJ1SXWcYAmF6eGHgTfSVqjQuebjZhUCkqbJ6R/7iC
IyOQU0+z/4xjW2Vrn2ys53R4MjPZ4q2XKUmAxwGo+M3q4plVGCUuSClwzUgi1KKy
nNMRiIuVsbFFgt1iaBPj1uFXvWC8xxgy0ccXl1hwd+3TrkFFTfiJFIF+FWhinerE
1xCkZVECkortBWoG97VQmn8Ba5tDwoADspiTstxOyn535B61dI5VbxfjulMP6Iqp
tLGEPk+WwO/5C4bMVqhhV5L0+xt2NEteLDmBuKRbV/gwjPSUwprTNxD8tba6IqEt
bQdRjlqwx4zwbEok/8+7Wj1erZH57ui5BOOX3DXErw16NOBODUzxTtbD54ATap2c
90RoXzBUam+MT7+ukDpQEhJ8FegPTaosfzTgfthgFixpjF/EyVj5qT0ulgR747Xu
W1YXeWZ9vdCw3cT36cNdaF8CWifRj/CNprMcHs+63vla6A+QaOQCjDWpnU+7Lcpm
uJqsrr3xt52a3MXKCJ1VlbyOoGFhUU/yC+Uf+d7w2bnSELUGUjTAuEME65nwI+0e
6wen3AhZ1FFxqgJYzGq0hd6y/uLDsC/Us+ej9W+M30b0y2RADvc37OCgW5icGVQY
mStqwVJVcIXzju4X6K+IgfoABWqTbFuu45jLumVCkgQ7CQIDAQABMA0GCSqGSIb3
DQEBCwUAA4IBAQAVRgXhCAfrowGwMyTk3S1iffSz4pbusLImbYG4w00GOLmmvBxu
g/RmiItZ/faqBs9QY1UD4v4IcMWetP0FK/CEBeECBXzbu6wjiYfX4uSc/Qgo1zMi
tlPnTFlMPQAjleqFJx6Z637xJyL3AVCFj/bgIidb4SLa1TMpgyITgVhQ8H9k0Yth
XKERQhxP6kI+gRIXQGezvHuqglYBlq5hIOkcHYiQMmC0NVzicRleFCsQ5XEjMeFN
pcjRboAVnOtZJqHaru7RzBoRabOU4FQKImbcc6FD4rgg99BRKdYKLPdmMhoUiG4o
EIkFHCVNSkDZ3F6In7jrZckkiu1WnHRxq+31
-----END CERTIFICATE-----
SignatureQ04jDMMaIOXUJ0EX50t6+3ise9yIts7AauJLcrgKx0zVSTDiK5D7tRd+nsNArpjhpjNrXHBT2lACzanixYvkviKBlXtUfpH+KVTt9axZuf1CCrwDsomXhcCE5CPGX9Fhc1TiZrwTsMxKq89q7b3zzOas/GlmKuUqat4xMCPe3QUSIuoE7pfzXh7IoBqTcA27WdWy6hFbFKAi06xh/7r/qA7J0kVTeAXyT+/zYwRZDQ7sfoG61PdNbw4fhiLfKUxb4pCr3zRIkVxqirWIKwwd6PmGtyMLmr6LEw1QBCHDpCf6mEz+ndPti7JDMgVw0fkJEnYbk/FC9Vy5t2fGhgJJpwvojOtFSJO9PKBedJ2EpMtbCUMgVcpKA+9thdG4uqDlz+7W0A9VB2gK0mdDpXNRWJ6ekeCmXVaShelm+w6yjhMH/7Hf/5+IL9oettDPD6CHdTiauKpNrcEIx5QdHEGR79cDge37OlcKLQtTUH0VZ8+WkgXLT/3YUaOiY/avN5FS28rFprpfeSfKJqlMJt04/0BpnXEKu3PyRTfBOiommOedy6KKFSLBult80kGnGPaMEbqns4Q6GH2bNcgoHzfYK14Z+ZBqzVwLilhlFWFcgk86oRtlkEhZvcV7iGYZAlTQ1IoWfkhi5HsNxIXXBL3/wJpAcmBQrhYDRM0TaSt1KLk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32