Hi everyone,
I installed TeddyCloud following the great video walkthrough from MyDealz & Revvox using Portainer on my Proxmox environment.
First of all I want to thank the Revvox team for the great work they did! Works like a charm
I’m wondering though how I can access the tonies.custom.json file as described in the Wiki (https://tonies-wiki.revvox.de/docs/tools/teddycloud/tecdoc/tonies-custom-json/). I couldn’t find an option in TeddyCloud and Portainer doesn’t seem to offer this function right away.
Any ideas?
Cheers,
Jay
I installed it the same way. I connected with the tool WinScp to the docker.
The tonies.custom.json file lies in the folder var/lib/docker/volumes/teddycloud_config/_data.
Dont know if this the general folder structure!?! Found it in my installation there!
If you don’t name volume binds explicitly in the docker compose than this is the default.
Thank you for your replies! I did have to do some additional research because I couldn’t get access via WinSCP, but the following procedure helped (if anyone faces the same issue):
Setting access rights via Proxmox VM console, not via Portainer Stack console!
- Create separate user via the VM console in Proxmox, set password
- Add user to the docker group
- grant user read, write and execute rights for the teddycloud_config/data folder and the files
- grant user at least read rights for the docker and volumes folder
Connecting via WinSCP
- Access via WinSCP with SFTP (SSH) with the teddycloud IP and Port 22 (Standard SSH)
- Username = your separate user from above + password
Uploading Images
- Via WinSCP: Use the custom_img folder as suggested here or any other folder you like
- Via TeddyCloud-GUI (more accessible in my opinion):
- Go to Libary and create a folder (in my case, I created a folder “own” and inside that folder a subfolder “Pics”
- upload images to new folder
- Use the following path to adress your image in the tonies.custom.json in the “pic” field: “/library/own/Pics/myimage.jpg”
In the end, the entry should look like:
[
{
“model”: “MyModel A1”,
“audio_id”: [],
“hash”: [],
“series”: “MySeries A”,
“episodes”: “MyEpisode A1a and A1b”,
“tracks”: [],
“pic”: “/library/own/Pics/myimage_A1.jpg”
},
{
“model”: “MyModel A2”,
“audio_id”: [],
“hash”: [],
“series”: “MySeries A”,
“episodes”: “MyEpisode A2.a and A2.b”,
“tracks”: [],
“pic”: “/library/own/Pics/myimage_A2.jpg”
}
]
Cheers,
Jay
Here’s also the summary of my session with ChatGPT with detailed bash commands:
Ziel
Du möchtest über WinSCP auf Dateien eines Docker-Containers zugreifen, die per Docker Volume eingebunden sind – konkret im TeddyCloud-Stack, verwaltet über Portainer auf einer Proxmox-VM.
1. Benutzer erstellen & Zugriff via WinSCP ermöglichen
Benutzer erstellen:
Logge dich per SSH in deine Docker-VM ein (z. B. via
root@192.168.x.x
) und fĂĽhre Folgendes aus:bash
KopierenBearbeiten
# Benutzer anlegen sudo adduser dockeradmin # Benutzer einer sinnvollen Gruppe hinzufĂĽgen (z. B. 'docker') sudo usermod -aG docker dockeradmin
Hinweis:
Die Gruppedocker
ist nicht zwingend erforderlich für Volume-Zugriff, aber hilfreich, falls du später auch Docker-Befehle mit dem User nutzen willst.Du kannst dir die Gruppenzugehörigkeit so anzeigen lassen:
bash
KopierenBearbeiten
groups dockeradmin
SSH-/SFTP-Zugriff via WinSCP:
- Stelle sicher, dass die Proxmox-VM (also dein Docker-Host) SSH aktiviert hat.
- Logge dich mit dem neuen Benutzer
dockeradmin
in WinSCP ein.- Du solltest Zugriff auf das Home-Verzeichnis haben – aber nicht auf Docker-Volumes (noch nicht!).
2. Zugriff auf Docker-Volumes konfigurieren
Docker speichert persistente Daten standardmäßig hier:
swift
KopierenBearbeiten
/var/lib/docker/volumes/[volume-name]/_data/
Problem:
Nur
root
darf in/var/lib/docker
lesen und schreiben. Daher musst du ACLs (Access Control Lists) aktivieren und setzen.
Lösungsschritte:
A. ACL-UnterstĂĽtzung sicherstellen
bash
KopierenBearbeiten
sudo apt update sudo apt install acl
B. Zugriff auf das Volume erlauben
Erlaube
dockeradmin
rekursiven Zugriff auf die Volumes (inkl. Unterverzeichnisse):bash
KopierenBearbeiten
# Lesen + Schreiben auf Volumes sudo setfacl -R -m u:dockeradmin:rwx /var/lib/docker/volumes sudo setfacl -R -d -m u:dockeradmin:rwx /var/lib/docker/volumes
C. Wichtig: Zugriff auf ĂĽbergeordnete Verzeichnisse sicherstellen
Selbst wenn
_data
Schreibrechte hat, muss der Benutzer auch mindestens „execute“ (x) Rechte auf alle übergeordneten Ordner haben:bash
KopierenBearbeiten
# Schreib- und AusfĂĽhrungsrechte fĂĽr dockeradmin auf /var/lib/docker sudo setfacl -m u:dockeradmin:--x /var/lib/docker sudo setfacl -m u:dockeradmin:--x /var/lib/docker/volumes
Jetzt kann WinSCP bis zum Volume-Verzeichnis durchgehen.
3. Test mit WinSCP & Schreibprobleme
Du solltest nun in WinSCP zu folgendem Pfad navigieren können:
swift
KopierenBearbeiten
/var/lib/docker/volumes/teddycloud_config/_data/
Wenn Speichern fehlschlägt (z. B. mit Notepad):
Fehler wie:
„Hochladen erfolgreich, aber Fehler beim Setzen der Berechtigungen oder Zeitstempel“
Das ist unkritisch, die Datei wurde trotzdem korrekt gespeichert.
Optional: Fehler vermeiden
In WinSCP:
- Einstellungen öffnen
- → Übertragungen → Standard
- → Haken entfernen bei:
- „Berechtigungen setzen“
- „Zeitstempel beibehalten“
Where do i find the custom_image folder in the docker container? Where is your folder located?
It is declared as a volume:
Volume Name:
teddycloud_custom_img
File Path:
/teddycloud/data/www/custom_img