{
  "version": 1,
  "updated_at": "2026-10-13T16:33:42.288Z",
  "total_apps": 6,
  "categories": [
    "productivity",
    "collaboration",
    "office",
    "media",
    "ai",
    "utilities",
    "security",
    "system",
    "developer"
  ],
  "apps": [
    {
      "id": "calendar",
      "name": "Calendar",
      "version": "1.0.0",
      "description": "Manage appointments, team schedules, and personal events",
      "author": "FynnCloud",
      "category": "productivity",
      "icon": "heroicons:calendar-days-solid",
      "icon_url": "/apps/calendar/icon.svg",
      "hero_url": null,
      "hero_dimensions": null,
      "gallery": [],
      "readme_url": "/apps/calendar/README.md",
      "gradient": "from-sky-500 to-indigo-600",
      "iconColor": "text-sky-100",
      "image": "ghcr.io/fynncloudproject/app-calendar:1.0.0",
      "digest": null,
      "deploy": {
        "image": "ghcr.io/fynncloudproject/app-calendar:1.0.0",
        "port": 8080,
        "architectures": [
          "amd64",
          "arm64"
        ],
        "resources": {
          "memory": "256MB",
          "cpu": 0.5
        }
      },
      "ui": {
        "launcher": true,
        "sidebar": [
          {
            "id": "calendar-today",
            "label": "Today's Schedule",
            "icon": "heroicons:calendar-days-solid",
            "position": "bottom_nav",
            "target": "/today"
          }
        ]
      },
      "compatibility": {
        "api_version": ">=0.1.0 <0.2.0"
      },
      "versions": [
        {
          "version": "1.0.0",
          "released_at": "2026-10-08T23:24:39+02:00",
          "compatibility": {
            "api_version": ">=0.1.0 <0.2.0"
          },
          "image": "ghcr.io/fynncloudproject/app-calendar:1.0.0",
          "digest": null,
          "manifest": {
            "$schema": "https://apps.fynncloud.ch/schemas/app-manifest-v1.json",
            "id": "calendar",
            "name": "Calendar",
            "version": "1.0.0",
            "description": "Manage appointments, team schedules, and personal events",
            "author": "FynnCloud",
            "icon": "heroicons:calendar-days-solid",
            "category": "productivity",
            "ui": {
              "launcher": true,
              "sidebar": [
                {
                  "id": "calendar-today",
                  "label": "Today's Schedule",
                  "icon": "heroicons:calendar-days-solid",
                  "position": "bottom_nav",
                  "target": "/today"
                }
              ]
            },
            "database": true,
            "storage": true,
            "compatibility": {
              "api_version": ">=0.1.0 <0.2.0"
            },
            "permissions": [
              "files:all:read",
              "notifications:send"
            ],
            "events": [
              "user.created",
              "file.created"
            ],
            "hooks": {
              "file_actions": [
                {
                  "id": "import-ics",
                  "label": "Import to Calendar",
                  "extensions": [
                    "ics",
                    "ical"
                  ],
                  "icon": "heroicons:calendar-days-solid",
                  "target": "/import"
                }
              ]
            },
            "deploy": {
              "image": "ghcr.io/fynncloudproject/app-calendar:1.0.0",
              "port": 8080,
              "architectures": [
                "amd64",
                "arm64"
              ],
              "resources": {
                "memory": "256MB",
                "cpu": 0.5
              }
            },
            "image": "ghcr.io/fynncloudproject/app-calendar:1.0.0"
          }
        }
      ],
      "permissions": [
        "files:all:read",
        "notifications:send"
      ],
      "hooks": {
        "file_actions": [
          {
            "id": "import-ics",
            "label": "Import to Calendar",
            "extensions": [
              "ics",
              "ical"
            ],
            "icon": "heroicons:calendar-days-solid",
            "target": "/import"
          }
        ]
      },
      "manifest": {
        "$schema": "https://apps.fynncloud.ch/schemas/app-manifest-v1.json",
        "id": "calendar",
        "name": "Calendar",
        "version": "1.0.0",
        "description": "Manage appointments, team schedules, and personal events",
        "author": "FynnCloud",
        "icon": "heroicons:calendar-days-solid",
        "category": "productivity",
        "ui": {
          "launcher": true,
          "sidebar": [
            {
              "id": "calendar-today",
              "label": "Today's Schedule",
              "icon": "heroicons:calendar-days-solid",
              "position": "bottom_nav",
              "target": "/today"
            }
          ]
        },
        "database": true,
        "storage": true,
        "compatibility": {
          "api_version": ">=0.1.0 <0.2.0"
        },
        "permissions": [
          "files:all:read",
          "notifications:send"
        ],
        "events": [
          "user.created",
          "file.created"
        ],
        "hooks": {
          "file_actions": [
            {
              "id": "import-ics",
              "label": "Import to Calendar",
              "extensions": [
                "ics",
                "ical"
              ],
              "icon": "heroicons:calendar-days-solid",
              "target": "/import"
            }
          ]
        },
        "deploy": {
          "image": "ghcr.io/fynncloudproject/app-calendar:1.0.0",
          "port": 8080,
          "architectures": [
            "amd64",
            "arm64"
          ],
          "resources": {
            "memory": "256MB",
            "cpu": 0.5
          }
        },
        "image": "ghcr.io/fynncloudproject/app-calendar:1.0.0"
      }
    },
    {
      "id": "demo",
      "name": "Demo App",
      "version": "1.0.0",
      "description": "Interactive developer studio showcasing App Bridge RPC, PostgreSQL schema isolation, webhooks, context menu hooks, and persistent volumes",
      "author": "FynnCloud",
      "category": "developer",
      "icon": "heroicons:code-bracket-square-solid",
      "icon_url": "/apps/demo/icon.svg",
      "hero_url": null,
      "hero_dimensions": null,
      "gallery": [],
      "readme_url": "/apps/demo/README.md",
      "gradient": "from-sky-500 to-indigo-600",
      "iconColor": "text-sky-100",
      "image": "ghcr.io/fynncloudproject/app-demo:1.0.0",
      "digest": null,
      "deploy": {
        "image": "ghcr.io/fynncloudproject/app-demo:1.0.0",
        "port": 8080,
        "architectures": [
          "amd64",
          "arm64"
        ],
        "resources": {
          "memory": "256MB",
          "cpu": 0.5
        },
        "healthcheck": {
          "path": "/health",
          "interval_seconds": 30,
          "timeout_seconds": 5
        }
      },
      "ui": {
        "launcher": true,
        "sidebar": [
          {
            "id": "demo-dashboard",
            "label": "Demo Dashboard",
            "icon": "heroicons:squares-2x2-solid",
            "position": "top_nav",
            "target": "/"
          },
          {
            "id": "demo-events",
            "label": "Live Events",
            "icon": "heroicons:bolt-solid",
            "position": "top_nav",
            "target": "/events"
          },
          {
            "id": "demo-storage",
            "label": "Storage Explorer",
            "icon": "heroicons:archive-box-solid",
            "position": "top_nav",
            "target": "/storage"
          }
        ]
      },
      "compatibility": {
        "api_version": ">=0.1.0 <0.2.0"
      },
      "versions": [
        {
          "version": "1.0.0",
          "released_at": "2026-10-13T11:23:15+02:00",
          "compatibility": {
            "api_version": ">=0.1.0 <0.2.0"
          },
          "image": "ghcr.io/fynncloudproject/app-demo:1.0.0",
          "digest": null,
          "manifest": {
            "$schema": "https://apps.fynncloud.ch/schemas/app-manifest-v1.json",
            "id": "demo",
            "name": "Demo App",
            "version": "1.0.0",
            "description": "Interactive developer studio showcasing App Bridge RPC, PostgreSQL schema isolation, webhooks, context menu hooks, and persistent volumes",
            "author": "FynnCloud",
            "icon": "heroicons:code-bracket-square-solid",
            "category": "developer",
            "ui": {
              "launcher": true,
              "sidebar": [
                {
                  "id": "demo-dashboard",
                  "label": "Demo Dashboard",
                  "icon": "heroicons:squares-2x2-solid",
                  "position": "top_nav",
                  "target": "/"
                },
                {
                  "id": "demo-events",
                  "label": "Live Events",
                  "icon": "heroicons:bolt-solid",
                  "position": "top_nav",
                  "target": "/events"
                },
                {
                  "id": "demo-storage",
                  "label": "Storage Explorer",
                  "icon": "heroicons:archive-box-solid",
                  "position": "top_nav",
                  "target": "/storage"
                }
              ]
            },
            "database": true,
            "storage": true,
            "compatibility": {
              "api_version": ">=0.1.0 <0.2.0"
            },
            "permissions": [
              "files:all:read",
              "files:all:write",
              "user:read",
              "notifications:send"
            ],
            "events": [
              "file.created",
              "file.updated",
              "file.deleted",
              "user.created"
            ],
            "hooks": {
              "file_actions": [
                {
                  "id": "inspect-in-demo",
                  "label": "Inspect with Demo",
                  "extensions": [
                    "*"
                  ],
                  "icon": "heroicons:document-magnifying-glass-solid",
                  "mode": "navigate",
                  "target": "/inspect"
                }
              ]
            },
            "deploy": {
              "image": "ghcr.io/fynncloudproject/app-demo:1.0.0",
              "port": 8080,
              "architectures": [
                "amd64",
                "arm64"
              ],
              "resources": {
                "memory": "256MB",
                "cpu": 0.5
              },
              "healthcheck": {
                "path": "/health",
                "interval_seconds": 30,
                "timeout_seconds": 5
              }
            },
            "image": "ghcr.io/fynncloudproject/app-demo:1.0.0"
          }
        }
      ],
      "permissions": [
        "files:all:read",
        "files:all:write",
        "user:read",
        "notifications:send"
      ],
      "hooks": {
        "file_actions": [
          {
            "id": "inspect-in-demo",
            "label": "Inspect with Demo",
            "extensions": [
              "*"
            ],
            "icon": "heroicons:document-magnifying-glass-solid",
            "mode": "navigate",
            "target": "/inspect"
          }
        ]
      },
      "manifest": {
        "$schema": "https://apps.fynncloud.ch/schemas/app-manifest-v1.json",
        "id": "demo",
        "name": "Demo App",
        "version": "1.0.0",
        "description": "Interactive developer studio showcasing App Bridge RPC, PostgreSQL schema isolation, webhooks, context menu hooks, and persistent volumes",
        "author": "FynnCloud",
        "icon": "heroicons:code-bracket-square-solid",
        "category": "developer",
        "ui": {
          "launcher": true,
          "sidebar": [
            {
              "id": "demo-dashboard",
              "label": "Demo Dashboard",
              "icon": "heroicons:squares-2x2-solid",
              "position": "top_nav",
              "target": "/"
            },
            {
              "id": "demo-events",
              "label": "Live Events",
              "icon": "heroicons:bolt-solid",
              "position": "top_nav",
              "target": "/events"
            },
            {
              "id": "demo-storage",
              "label": "Storage Explorer",
              "icon": "heroicons:archive-box-solid",
              "position": "top_nav",
              "target": "/storage"
            }
          ]
        },
        "database": true,
        "storage": true,
        "compatibility": {
          "api_version": ">=0.1.0 <0.2.0"
        },
        "permissions": [
          "files:all:read",
          "files:all:write",
          "user:read",
          "notifications:send"
        ],
        "events": [
          "file.created",
          "file.updated",
          "file.deleted",
          "user.created"
        ],
        "hooks": {
          "file_actions": [
            {
              "id": "inspect-in-demo",
              "label": "Inspect with Demo",
              "extensions": [
                "*"
              ],
              "icon": "heroicons:document-magnifying-glass-solid",
              "mode": "navigate",
              "target": "/inspect"
            }
          ]
        },
        "deploy": {
          "image": "ghcr.io/fynncloudproject/app-demo:1.0.0",
          "port": 8080,
          "architectures": [
            "amd64",
            "arm64"
          ],
          "resources": {
            "memory": "256MB",
            "cpu": 0.5
          },
          "healthcheck": {
            "path": "/health",
            "interval_seconds": 30,
            "timeout_seconds": 5
          }
        },
        "image": "ghcr.io/fynncloudproject/app-demo:1.0.0"
      }
    },
    {
      "id": "drawio",
      "name": "Diagrams.net",
      "version": "1.0.0",
      "description": "Create and edit flowcharts, software architecture, wireframes, network diagrams, and UML schematics",
      "author": "FynnCloud",
      "category": "productivity",
      "icon": "simple-icons:diagramsdotnet",
      "icon_url": "/apps/drawio/icon.svg",
      "hero_url": null,
      "hero_dimensions": null,
      "gallery": [],
      "readme_url": "/apps/drawio/README.md",
      "gradient": "from-sky-500 to-indigo-600",
      "iconColor": "text-sky-100",
      "image": "ghcr.io/fynncloudproject/app-drawio:1.0.0",
      "digest": null,
      "deploy": {
        "image": "ghcr.io/fynncloudproject/app-drawio:1.0.0",
        "port": 8080,
        "architectures": [
          "amd64",
          "arm64"
        ],
        "resources": {
          "memory": "256MB",
          "cpu": 0.5
        },
        "healthcheck": {
          "path": "/health",
          "interval_seconds": 30,
          "timeout_seconds": 5
        }
      },
      "ui": {
        "launcher": false,
        "entrypoint": "/"
      },
      "compatibility": {
        "api_version": ">=0.1.0 <0.2.0"
      },
      "versions": [
        {
          "version": "1.0.0",
          "released_at": "2026-10-13T11:23:15+02:00",
          "compatibility": {
            "api_version": ">=0.1.0 <0.2.0"
          },
          "image": "ghcr.io/fynncloudproject/app-drawio:1.0.0",
          "digest": null,
          "manifest": {
            "$schema": "https://apps.fynncloud.ch/schemas/app-manifest-v1.json",
            "id": "drawio",
            "name": "Diagrams.net",
            "version": "1.0.0",
            "description": "Create and edit flowcharts, software architecture, wireframes, network diagrams, and UML schematics",
            "author": "FynnCloud",
            "icon": "simple-icons:diagramsdotnet",
            "category": "productivity",
            "ui": {
              "launcher": false,
              "entrypoint": "/"
            },
            "compatibility": {
              "api_version": ">=0.1.0 <0.2.0"
            },
            "permissions": [
              "files:selected:read",
              "files:selected:write",
              "user:read",
              "notifications:send"
            ],
            "events": [
              "file.created",
              "file.updated",
              "file.deleted"
            ],
            "hooks": {
              "file_actions": [
                {
                  "id": "open-in-drawio",
                  "label": "Open in Diagrams.net",
                  "extensions": [
                    "drawio",
                    "drawio.xml",
                    "drawio.svg",
                    "drawio.png",
                    "xml",
                    "diagram"
                  ],
                  "icon": "simple-icons:diagramsdotnet",
                  "mode": "modal",
                  "role": "open",
                  "target": "/"
                }
              ],
              "new_file": [
                {
                  "id": "new-diagram",
                  "label": "Diagram",
                  "extension": "drawio",
                  "default_filename": "Untitled Diagram.drawio",
                  "icon": "simple-icons:diagramsdotnet",
                  "mode": "modal",
                  "target": "/"
                }
              ]
            },
            "deploy": {
              "image": "ghcr.io/fynncloudproject/app-drawio:1.0.0",
              "port": 8080,
              "architectures": [
                "amd64",
                "arm64"
              ],
              "resources": {
                "memory": "256MB",
                "cpu": 0.5
              },
              "healthcheck": {
                "path": "/health",
                "interval_seconds": 30,
                "timeout_seconds": 5
              }
            },
            "image": "ghcr.io/fynncloudproject/app-drawio:1.0.0"
          }
        }
      ],
      "permissions": [
        "files:selected:read",
        "files:selected:write",
        "user:read",
        "notifications:send"
      ],
      "hooks": {
        "file_actions": [
          {
            "id": "open-in-drawio",
            "label": "Open in Diagrams.net",
            "extensions": [
              "drawio",
              "drawio.xml",
              "drawio.svg",
              "drawio.png",
              "xml",
              "diagram"
            ],
            "icon": "simple-icons:diagramsdotnet",
            "mode": "modal",
            "role": "open",
            "target": "/"
          }
        ],
        "new_file": [
          {
            "id": "new-diagram",
            "label": "Diagram",
            "extension": "drawio",
            "default_filename": "Untitled Diagram.drawio",
            "icon": "simple-icons:diagramsdotnet",
            "mode": "modal",
            "target": "/"
          }
        ]
      },
      "manifest": {
        "$schema": "https://apps.fynncloud.ch/schemas/app-manifest-v1.json",
        "id": "drawio",
        "name": "Diagrams.net",
        "version": "1.0.0",
        "description": "Create and edit flowcharts, software architecture, wireframes, network diagrams, and UML schematics",
        "author": "FynnCloud",
        "icon": "simple-icons:diagramsdotnet",
        "category": "productivity",
        "ui": {
          "launcher": false,
          "entrypoint": "/"
        },
        "compatibility": {
          "api_version": ">=0.1.0 <0.2.0"
        },
        "permissions": [
          "files:selected:read",
          "files:selected:write",
          "user:read",
          "notifications:send"
        ],
        "events": [
          "file.created",
          "file.updated",
          "file.deleted"
        ],
        "hooks": {
          "file_actions": [
            {
              "id": "open-in-drawio",
              "label": "Open in Diagrams.net",
              "extensions": [
                "drawio",
                "drawio.xml",
                "drawio.svg",
                "drawio.png",
                "xml",
                "diagram"
              ],
              "icon": "simple-icons:diagramsdotnet",
              "mode": "modal",
              "role": "open",
              "target": "/"
            }
          ],
          "new_file": [
            {
              "id": "new-diagram",
              "label": "Diagram",
              "extension": "drawio",
              "default_filename": "Untitled Diagram.drawio",
              "icon": "simple-icons:diagramsdotnet",
              "mode": "modal",
              "target": "/"
            }
          ]
        },
        "deploy": {
          "image": "ghcr.io/fynncloudproject/app-drawio:1.0.0",
          "port": 8080,
          "architectures": [
            "amd64",
            "arm64"
          ],
          "resources": {
            "memory": "256MB",
            "cpu": 0.5
          },
          "healthcheck": {
            "path": "/health",
            "interval_seconds": 30,
            "timeout_seconds": 5
          }
        },
        "image": "ghcr.io/fynncloudproject/app-drawio:1.0.0"
      }
    },
    {
      "id": "platform-tester",
      "name": "Platform Tester",
      "version": "1.0.0",
      "description": "Diagnostic inspector showcasing live events, bridge RPC, database schemas, storage volumes, and UI hooks",
      "author": "FynnCloud",
      "category": "developer",
      "icon": "heroicons:cpu-chip-solid",
      "icon_url": "/apps/platform-tester/icon.svg",
      "hero_url": null,
      "hero_dimensions": null,
      "gallery": [],
      "readme_url": "/apps/platform-tester/README.md",
      "gradient": "from-sky-500 to-indigo-600",
      "iconColor": "text-sky-100",
      "image": "ghcr.io/fynncloudproject/app-platform-tester:1.0.0",
      "digest": null,
      "deploy": {
        "image": "ghcr.io/fynncloudproject/app-platform-tester:1.0.0",
        "port": 8080,
        "architectures": [
          "amd64",
          "arm64"
        ],
        "resources": {
          "memory": "256MB",
          "cpu": 0.5
        }
      },
      "ui": {
        "launcher": true,
        "sidebar": [
          {
            "id": "tester-dashboard",
            "label": "Inspector Dashboard",
            "icon": "heroicons:squares-2x2-solid",
            "position": "top_nav",
            "target": "/"
          },
          {
            "id": "tester-events",
            "label": "Live Events",
            "icon": "heroicons:bolt-solid",
            "position": "top_nav",
            "target": "/events"
          },
          {
            "id": "tester-storage",
            "label": "Key-Value Store",
            "icon": "heroicons:archive-box-solid",
            "position": "top_nav",
            "target": "/storage"
          },
          {
            "id": "tester-danger",
            "label": "Clear Test Data",
            "icon": "heroicons:trash-solid",
            "position": "bottom_nav",
            "target": "/clear",
            "variant": "danger"
          }
        ]
      },
      "compatibility": {
        "api_version": ">=0.1.0 <0.2.0"
      },
      "versions": [
        {
          "version": "1.0.0",
          "released_at": "2026-10-08T23:24:39+02:00",
          "compatibility": {
            "api_version": ">=0.1.0 <0.2.0"
          },
          "image": "ghcr.io/fynncloudproject/app-platform-tester:1.0.0",
          "digest": null,
          "manifest": {
            "$schema": "https://apps.fynncloud.ch/schemas/app-manifest-v1.json",
            "id": "platform-tester",
            "name": "Platform Tester",
            "version": "1.0.0",
            "description": "Diagnostic inspector showcasing live events, bridge RPC, database schemas, storage volumes, and UI hooks",
            "author": "FynnCloud",
            "icon": "heroicons:cpu-chip-solid",
            "category": "developer",
            "ui": {
              "launcher": true,
              "sidebar": [
                {
                  "id": "tester-dashboard",
                  "label": "Inspector Dashboard",
                  "icon": "heroicons:squares-2x2-solid",
                  "position": "top_nav",
                  "target": "/"
                },
                {
                  "id": "tester-events",
                  "label": "Live Events",
                  "icon": "heroicons:bolt-solid",
                  "position": "top_nav",
                  "target": "/events"
                },
                {
                  "id": "tester-storage",
                  "label": "Key-Value Store",
                  "icon": "heroicons:archive-box-solid",
                  "position": "top_nav",
                  "target": "/storage"
                },
                {
                  "id": "tester-danger",
                  "label": "Clear Test Data",
                  "icon": "heroicons:trash-solid",
                  "position": "bottom_nav",
                  "target": "/clear",
                  "variant": "danger"
                }
              ]
            },
            "database": true,
            "storage": true,
            "compatibility": {
              "api_version": ">=0.1.0 <0.2.0"
            },
            "permissions": [
              "files:all:read",
              "files:all:write",
              "notifications:send",
              "user:read"
            ],
            "events": [
              "file.created",
              "file.updated",
              "file.deleted",
              "file.restored",
              "file.favorited",
              "file.unfavorited",
              "file.shared",
              "file.unshared",
              "user.created",
              "user.updated",
              "user.deleted",
              "group.member_added",
              "group.member_removed"
            ],
            "hooks": {
              "file_actions": [
                {
                  "id": "inspect-file",
                  "label": "Inspect in Tester",
                  "extensions": [
                    "txt",
                    "json",
                    "md",
                    "pdf",
                    "png",
                    "jpg",
                    "kanban.json"
                  ],
                  "icon": "heroicons:cpu-chip-solid",
                  "target": "/inspect"
                }
              ]
            },
            "deploy": {
              "image": "ghcr.io/fynncloudproject/app-platform-tester:1.0.0",
              "port": 8080,
              "architectures": [
                "amd64",
                "arm64"
              ],
              "resources": {
                "memory": "256MB",
                "cpu": 0.5
              }
            },
            "image": "ghcr.io/fynncloudproject/app-platform-tester:1.0.0"
          }
        }
      ],
      "permissions": [
        "files:all:read",
        "files:all:write",
        "notifications:send",
        "user:read"
      ],
      "hooks": {
        "file_actions": [
          {
            "id": "inspect-file",
            "label": "Inspect in Tester",
            "extensions": [
              "txt",
              "json",
              "md",
              "pdf",
              "png",
              "jpg",
              "kanban.json"
            ],
            "icon": "heroicons:cpu-chip-solid",
            "target": "/inspect"
          }
        ]
      },
      "manifest": {
        "$schema": "https://apps.fynncloud.ch/schemas/app-manifest-v1.json",
        "id": "platform-tester",
        "name": "Platform Tester",
        "version": "1.0.0",
        "description": "Diagnostic inspector showcasing live events, bridge RPC, database schemas, storage volumes, and UI hooks",
        "author": "FynnCloud",
        "icon": "heroicons:cpu-chip-solid",
        "category": "developer",
        "ui": {
          "launcher": true,
          "sidebar": [
            {
              "id": "tester-dashboard",
              "label": "Inspector Dashboard",
              "icon": "heroicons:squares-2x2-solid",
              "position": "top_nav",
              "target": "/"
            },
            {
              "id": "tester-events",
              "label": "Live Events",
              "icon": "heroicons:bolt-solid",
              "position": "top_nav",
              "target": "/events"
            },
            {
              "id": "tester-storage",
              "label": "Key-Value Store",
              "icon": "heroicons:archive-box-solid",
              "position": "top_nav",
              "target": "/storage"
            },
            {
              "id": "tester-danger",
              "label": "Clear Test Data",
              "icon": "heroicons:trash-solid",
              "position": "bottom_nav",
              "target": "/clear",
              "variant": "danger"
            }
          ]
        },
        "database": true,
        "storage": true,
        "compatibility": {
          "api_version": ">=0.1.0 <0.2.0"
        },
        "permissions": [
          "files:all:read",
          "files:all:write",
          "notifications:send",
          "user:read"
        ],
        "events": [
          "file.created",
          "file.updated",
          "file.deleted",
          "file.restored",
          "file.favorited",
          "file.unfavorited",
          "file.shared",
          "file.unshared",
          "user.created",
          "user.updated",
          "user.deleted",
          "group.member_added",
          "group.member_removed"
        ],
        "hooks": {
          "file_actions": [
            {
              "id": "inspect-file",
              "label": "Inspect in Tester",
              "extensions": [
                "txt",
                "json",
                "md",
                "pdf",
                "png",
                "jpg",
                "kanban.json"
              ],
              "icon": "heroicons:cpu-chip-solid",
              "target": "/inspect"
            }
          ]
        },
        "deploy": {
          "image": "ghcr.io/fynncloudproject/app-platform-tester:1.0.0",
          "port": 8080,
          "architectures": [
            "amd64",
            "arm64"
          ],
          "resources": {
            "memory": "256MB",
            "cpu": 0.5
          }
        },
        "image": "ghcr.io/fynncloudproject/app-platform-tester:1.0.0"
      }
    },
    {
      "id": "webdav",
      "name": "WebDAV",
      "version": "1.0.0",
      "description": "Access your FynnCloud files as a network drive from macOS Finder, Windows Explorer, and WebDAV clients",
      "author": "FynnCloud",
      "category": "utilities",
      "icon": "heroicons:folder-arrow-down-solid",
      "icon_url": "/apps/webdav/icon.svg",
      "hero_url": null,
      "hero_dimensions": null,
      "gallery": [],
      "readme_url": null,
      "gradient": "from-sky-500 to-indigo-600",
      "iconColor": "text-sky-100",
      "image": "ghcr.io/fynncloudproject/app-webdav:1.0.0",
      "digest": null,
      "deploy": {
        "image": "ghcr.io/fynncloudproject/app-webdav:1.0.0",
        "port": 8080,
        "architectures": [
          "amd64",
          "arm64"
        ],
        "resources": {
          "memory": "128MB",
          "cpu": 0.5
        }
      },
      "ui": false,
      "compatibility": {
        "api_version": ">=0.1.0 <0.2.0"
      },
      "versions": [
        {
          "version": "1.0.0",
          "released_at": "2026-10-09T01:25:28+02:00",
          "compatibility": {
            "api_version": ">=0.1.0 <0.2.0"
          },
          "image": "ghcr.io/fynncloudproject/app-webdav:1.0.0",
          "digest": null,
          "manifest": {
            "$schema": "https://apps.fynncloud.ch/schemas/app-manifest-v1.json",
            "id": "webdav",
            "name": "WebDAV",
            "version": "1.0.0",
            "description": "Access your FynnCloud files as a network drive from macOS Finder, Windows Explorer, and WebDAV clients",
            "author": "FynnCloud",
            "icon": "heroicons:folder-arrow-down-solid",
            "category": "utilities",
            "ui": false,
            "compatibility": {
              "api_version": ">=0.1.0 <0.2.0"
            },
            "permissions": [
              "files:all:read",
              "files:all:write"
            ],
            "deploy": {
              "image": "ghcr.io/fynncloudproject/app-webdav:1.0.0",
              "port": 8080,
              "architectures": [
                "amd64",
                "arm64"
              ],
              "resources": {
                "memory": "128MB",
                "cpu": 0.5
              }
            },
            "image": "ghcr.io/fynncloudproject/app-webdav:1.0.0"
          }
        }
      ],
      "permissions": [
        "files:all:read",
        "files:all:write"
      ],
      "hooks": {},
      "manifest": {
        "$schema": "https://apps.fynncloud.ch/schemas/app-manifest-v1.json",
        "id": "webdav",
        "name": "WebDAV",
        "version": "1.0.0",
        "description": "Access your FynnCloud files as a network drive from macOS Finder, Windows Explorer, and WebDAV clients",
        "author": "FynnCloud",
        "icon": "heroicons:folder-arrow-down-solid",
        "category": "utilities",
        "ui": false,
        "compatibility": {
          "api_version": ">=0.1.0 <0.2.0"
        },
        "permissions": [
          "files:all:read",
          "files:all:write"
        ],
        "deploy": {
          "image": "ghcr.io/fynncloudproject/app-webdav:1.0.0",
          "port": 8080,
          "architectures": [
            "amd64",
            "arm64"
          ],
          "resources": {
            "memory": "128MB",
            "cpu": 0.5
          }
        },
        "image": "ghcr.io/fynncloudproject/app-webdav:1.0.0"
      }
    },
    {
      "id": "zipper",
      "name": "Zipper",
      "version": "1.0.0",
      "description": "Create standard ZIP archives from single or multiple files directly from your context menu",
      "author": "FynnCloud",
      "category": "utilities",
      "icon": "heroicons:archive-box-solid",
      "icon_url": "/apps/zipper/icon.svg",
      "hero_url": null,
      "hero_dimensions": null,
      "gallery": [],
      "readme_url": "/apps/zipper/README.md",
      "gradient": "from-sky-500 to-indigo-600",
      "iconColor": "text-sky-100",
      "image": "ghcr.io/fynncloudproject/app-zipper:1.0.0",
      "digest": null,
      "deploy": {
        "image": "ghcr.io/fynncloudproject/app-zipper:1.0.0",
        "port": 8080,
        "architectures": [
          "amd64",
          "arm64"
        ],
        "resources": {
          "memory": "128MB",
          "cpu": 0.5
        }
      },
      "ui": false,
      "compatibility": {
        "api_version": ">=0.1.0 <0.2.0"
      },
      "versions": [
        {
          "version": "1.0.0",
          "released_at": "2026-10-08T23:24:39+02:00",
          "compatibility": {
            "api_version": ">=0.1.0 <0.2.0"
          },
          "image": "ghcr.io/fynncloudproject/app-zipper:1.0.0",
          "digest": null,
          "manifest": {
            "$schema": "https://apps.fynncloud.ch/schemas/app-manifest-v1.json",
            "id": "zipper",
            "name": "Zipper",
            "version": "1.0.0",
            "description": "Create standard ZIP archives from single or multiple files directly from your context menu",
            "author": "FynnCloud",
            "icon": "heroicons:archive-box-solid",
            "category": "utilities",
            "ui": false,
            "compatibility": {
              "api_version": ">=0.1.0 <0.2.0"
            },
            "permissions": [
              "files:all:read",
              "files:all:write"
            ],
            "hooks": {
              "file_actions": [
                {
                  "id": "zip-files",
                  "label": "Compress to ZIP",
                  "extensions": [
                    "*"
                  ],
                  "icon": "heroicons:archive-box-solid",
                  "mode": "background",
                  "target": "/api/zip"
                }
              ]
            },
            "deploy": {
              "image": "ghcr.io/fynncloudproject/app-zipper:1.0.0",
              "port": 8080,
              "architectures": [
                "amd64",
                "arm64"
              ],
              "resources": {
                "memory": "128MB",
                "cpu": 0.5
              }
            },
            "image": "ghcr.io/fynncloudproject/app-zipper:1.0.0"
          }
        }
      ],
      "permissions": [
        "files:all:read",
        "files:all:write"
      ],
      "hooks": {
        "file_actions": [
          {
            "id": "zip-files",
            "label": "Compress to ZIP",
            "extensions": [
              "*"
            ],
            "icon": "heroicons:archive-box-solid",
            "mode": "background",
            "target": "/api/zip"
          }
        ]
      },
      "manifest": {
        "$schema": "https://apps.fynncloud.ch/schemas/app-manifest-v1.json",
        "id": "zipper",
        "name": "Zipper",
        "version": "1.0.0",
        "description": "Create standard ZIP archives from single or multiple files directly from your context menu",
        "author": "FynnCloud",
        "icon": "heroicons:archive-box-solid",
        "category": "utilities",
        "ui": false,
        "compatibility": {
          "api_version": ">=0.1.0 <0.2.0"
        },
        "permissions": [
          "files:all:read",
          "files:all:write"
        ],
        "hooks": {
          "file_actions": [
            {
              "id": "zip-files",
              "label": "Compress to ZIP",
              "extensions": [
                "*"
              ],
              "icon": "heroicons:archive-box-solid",
              "mode": "background",
              "target": "/api/zip"
            }
          ]
        },
        "deploy": {
          "image": "ghcr.io/fynncloudproject/app-zipper:1.0.0",
          "port": 8080,
          "architectures": [
            "amd64",
            "arm64"
          ],
          "resources": {
            "memory": "128MB",
            "cpu": 0.5
          }
        },
        "image": "ghcr.io/fynncloudproject/app-zipper:1.0.0"
      }
    }
  ]
}