Introducing: TeddyCloud Plugins!

Welcome to the TeddyCloud Plugins Category

This forum category is the central place for everything related to TeddyCloud plugins โ€” development, sharing, discussion, feedback, and support.

Whether you are:

  • creating your first plugin,
  • publishing a community plugin,
  • looking for examples or best practices,
  • or just exploring what others have built,

this is the right place.


What are TeddyCloud Plugins?

Plugins extend TeddyCloud with additional features, views, or integrations.
They are loaded dynamically and appear directly in the TeddyCloud navigation, depending on their configuration.

Plugins can:

  • add new pages or tools
  • integrate external services
  • provide community features
  • enhance existing TeddyCloud functionality

Central Plugin Repository (GitHub)

All official and community-maintained plugins are collected in a central GitHub repository:

GitHub - henryk86/TeddyCloudPlugins

This repository serves as the primary distribution and reference point for TeddyCloud plugins.
It contains:

  • published plugin sources
  • release-ready plugin ZIPs
  • example plugins
  • shared tooling and conventions

Note: This repository may be moved in the future to
Toniebox Reverse Engineering ยท GitHub
to better reflect the broader TeddyCloud ecosystem. Existing links will be kept working.

If you plan to publish a plugin, contributing it to this repository is strongly encouraged.


Plugin Folder Structure & Requirements

To be discoverable and listed in the TeddyCloud GUI navigation, a plugin must follow a defined folder structure and include specific files.

Required Folder Structure

your-plugin-name/
โ”œโ”€โ”€ plugin.json
โ”œโ”€โ”€ index.html
โ”œโ”€โ”€ preview.png   (optional, but recommended)
โ””โ”€โ”€ (other plugin files)
  • plugin.json โ†’ required metadata
  • index.html โ†’ entry point of the plugin
  • preview.png โ†’ optional preview image shown in the plugin card
  • additional files (JS, CSS, assets) are allowed

plugin.json โ€” Required Metadata

Every plugin must include a plugin.json file in its root directory.
This file describes the plugin and allows TeddyCloud to display it correctly in the UI.

Example plugin.json

{
  "pluginName": "Awesome Plugin",
  "description": "A short summary of what this plugin does.",
  "standalone": false,
  "author": "Author's name",
  "version": "1.0.0",
  "pluginHomepage": "https://example.com",
  "teddyCloudSection": "community",
  "icon": "TrophyOutlined"
}

plugin.json Fields Explained

Field Description
pluginName Name shown in menus (mandatory)
description Short summary of the plugin
standalone Boolean flag indicating standalone mode (no header, no sidebar, no footer). Important: do not put true or false in quotes
author Plugin author
version Plugin version
pluginHomepage Homepage or repository URL
teddyCloudSection Navigation section (home, tonies, tonieboxes, settings, community)
icon Ant Design icon name (e.g. TrophyOutlined, TagsOutlined)

Icons must be valid Ant Design icons:
:backhand_index_pointing_right: https://ant.design/components/icon


Installing Plugins

Plugins are distributed as ZIP files via GitHub Releases.

Current workflow:

  1. Download the plugin ZIP from the latest release of the central repository
  2. Upload/copy it to your TeddyCloud host
  3. Unzip it into the plugins/ directory
    (plugins/<pluginName>/plugin.json must exist)
  4. Reload or restart TeddyCloud

Future:
Direct plugin uploads via the TeddyCloud Web UI are planned.


How to Use This Category

Please use this category to:

  • announce new plugins
  • ask questions about plugin development
  • share code snippets and examples
  • report plugin-related issues
  • propose ideas or improvements for the plugin system

For each plugin, it is recommended to create one dedicated thread containing:

  • a short description
  • screenshots or preview images
  • installation instructions
  • links to source code or releases

Final Notes

This category is intentionally open and community-driven.
There are no strict rules beyond keeping discussions constructive and technically focused.

If something is unclear, missing, or could be improved in the plugin system โ€” this is the place to discuss it.

Welcome to the TeddyCloud plugin ecosystem :rocket:

2 Likes