TeddyCloud Custom Tag Helper

Hi there,

I want to share the result of a long and painfull vibe coding session :slight_smile: I have no idea what’s under the hood here but it’s working very pleasantly for me and gives a much more user flow to handling new custom contents.

-Parses the TAF file to automatically search for a matching cover, lets you customize the search or manually upload a cover as well
-stores the covers in your teddycloud
-automatically creates the JSON for the new custom tonie and adds it to the file

Just build it into a docker and give it a spin. The only requirements are access to the files, I mounted the folders via SMB and access to the teddycloud to communicate with the API.

Again a word of caution: 100% vibe coded without manual code checking or adjustments. Only tested briefly. Feel free to contribute and optimize where needed.

TeddyCloud Custom Tag Helper

Overview of all TAF files inkluding the corresponding Tonie (differenciates between official and custom and parses the photos and descriptions for the offial ones as well)

Übersicht aller bekannter Tags samt verknüpfter TAF und Tonies (hier können auch Verknüpfungen ergänzt werden)

Shows all custom Tonies from the file including covers and descriptions. Allows individual editing or deleting.

Example dialogue for adding a new custom tonie based on an uploaded TAF. It ready the available information from the TAG and tries to find a suitable cover via Musicbrainz. The search promt can be manually overwritten for better results. The cover is then automatically downloaded and stored. Manual upload via an upload dialogue or drag and drop is also possible.

Preview of the generated JSON, the number should automaically count up to pick the next available one. Save automatically enters it into the existing file after creating a backup.

Editing of existing custom tonies pretty much matches the creation of new ones except for the missing search dialogue.

The linking dialogue shows all available tonies, official and custom. Web streams and the like are not supported and still have to be manually configured via the Teddycloud UI.

2 Likes

Thanks for your post and for your work! :wink: I can’t complete the wizard setup. On step 5 I get the error message ‘SetupConfiguration’ object has no attribute ‘use_smb’. What is missing?

image
My config.yaml

teddycloud:
url: http://192.168.22.237 # Change to your TeddyCloud URL
api_base: /api
timeout: 30

volumes:

data_path: /data

app:
auto_parse_taf: true
confirm_before_save: true
auto_reload_config: true
default_language: de-de
max_image_size_mb: 5
allowed_image_formats:

  • jpg
  • jpeg
  • png
  • webp

show_hidden_files: false
recursive_scan: true

advanced:
parse_cover_from_taf: true
extract_track_names: true
log_level: INFO
cache_taf_metadata: true
cache_ttl_seconds: 300

.env file:
image

docker-compose:
image

I worked around the problem. I added the ‘missing’ properties to SetupWizard.jsx and setup.py.

Sorry, that’s still some artifacts from the inital idea of connecting to the smb share from within the container (which was dumb). Does it work now?

Thanks for your replay. Yes, I have a running instance. :wink:
My custom tag with the cover is showed with a question mark. Do you have the same behaviour?
grafik

Try editing the Tag and entering the Modell nr of the “himmelwiit” custom one.

Bildschirmfoto 2025-11-18 um 08.58.41

Hi, I’ve tried to setup this container. had the same error at the end of setup with the smb, so I deleted the smb usage in the setup.py.
in the ui I get this error, but in my portioner logs seems to be no error.

any ideas?

thanks :slight_smile:

Hello,

i also tried the Tag Helper, At first i also couldnt get around the initial setup, but after a while i got it working.

But when i´m in the WebApp, i get the following error:

image

any ideas?

the mainpage semms kinda normal:

image

edit

image

@ fial612:
I have a running instance and I think I added use smb: false and smb enbaled: false to the config.yaml:

# TeddyCloud Custom Tag Helper - Configuration Template
#
# Copy this file to config.yaml and adjust settings as needed.
# Most users only need to set TEDDYCLOUD_DATA_PATH environment variable.

# TeddyCloud Connection
teddycloud:
  url: http://192.168.22.237 # Change to your TeddyCloud URL
  api_base: /api
  timeout: 30

# Volume Configuration
volumes:
  # Path to TeddyCloud data directory
  # Set via TEDDYCLOUD_DATA_PATH environment variable (recommended)
  # Default: /data (inside container)
  #
  # Expected structure:
  #   data_path/
  #   ├── config/          (tonies.custom.json, config.overlay.ini)
  #   ├── library/         (TAF files, subdirectories supported)
  #   └── content/default/ (RFID tag mappings per Toniebox)
  data_path: /data

use:
    smb: false
smb:
  enabled: false
  #host: "your-nas-or-server"
  #share: "teddycloud-data"
  #username: "your-username"
# Application Settings

Try to check with F12 in the network communication what the response is.

@ [Xnitro_HD]
Make a copy of tonies.custom.json. Try to clear the tonies.custom.json and reload and see if with an empty file it would work. I think the content cannot be parsed…

I got it working now. I had 2 errors. One was the rights weren’t quite as they should be and the second error was a mistake within the teddy cloud url. But I got it working in the end :slight_smile: thnk you!

thanks, based on your first feedback regarding the setup error, I had a look at the smb topic and deleted the smb part in the setup.py => so setup were able to finish.

quick research results, that this could be an error of the backend API.
http://localhost:8000/api/toniesJson => HTTP 404 Error
http://localhost:8000/api/status => HTTP 200 OK

Now I’m one step further.
From the logs, I could see that the error was due to missing fields in my Custom.Tonie.json.
“Failed to get TAF library: 1 validation error for TonieModel
no
Field required [type=missing, input_value={‘model’: ‘testmodel’, …}, input_type=dict]
For further information visit ``https://errors.pydantic.dev/2.5/v/missing”
I hadn’t added the field “no:” to some of them, which hadn’t been a problem for Teddycloud itself so far, but led to the error here.
After I added “no:” to all of them, the error was gone.

However, there now seem to be performance and timeout issues when scanning the library. This may be due to the number of files I have, which is over 800.

Bildschirmfoto 2025-11-19 um 08.27.06

Please give it another try with the update. All the SMB nonsense is an artifact from the initial idea of connecting to SMB from within the Docker. Claude Opus just fixed what Claude Sonnet messed up :slight_smile:Everyone that actually knows code, feel free to commit pull requests.