Hardware Requirements - Does TeddyCloud run on a Raspberry Zero (1st Gen)?

I would like to get my hands on a Toniebox and play around with Teddycloud. But will it run on a Raspberry Zero (1st Gen)?

Thanks!

I’d give it a try, teddycloud runs on a RPi 4 in my home and the RPi is bored (even with piHole installed along teddycloud).
Please tell us your experience with the setup.

OK. I will try it with DietPi and Docker and give you feedback as soon as possible, when all my components arrived.

The cert generation on first run may take a while on a slower system, but beside that, teddyCloud is just a simple webserver.
It really depends on the architecture of your system and the docker image runs on that.

Got my Zero v1. But there is no prebuilt ARM v6 Docker Image, so I have to compile it by myself?

Edit: Got it, there is one. I will keep on trying!

Edit2: Pulled it, run it, but stuck on

Terminal
root@DietPi02:~# docker run ghcr.io/toniebox-reverse-engineering/teddycloud:tc_v0.3.5_alpine
TeddyCloud v0.3.5 (8602da9) - 2024-01-22 13:39:05 +0000 linux-armv7l

INFO |settings.c:0659:settings_load_ovl| Load settings from /etc/teddycloud/config/config.overlay.ini
WARN |settings.c:0667:settings_load_ovl| Config file does not exist, creating it...
INFO |settings.c:0554:settings_save_ovl| Save settings to /etc/teddycloud/config/config.overlay.ini
INFO |settings.c:0659:settings_load_ovl| Load settings from /etc/teddycloud/config/config.ini
WARN |settings.c:0667:settings_load_ovl| Config file does not exist, creating it...
INFO |settings.c:0554:settings_save_ovl| Save settings to /etc/teddycloud/config/config.ini
INFO |settings.c:0659:settings_load_ovl| Load settings from /etc/teddycloud/config/config.overlay.ini
INFO |tls_adapter.c:0394:tls_adapter_init| Loading certificates...
ERROR|tls_adapter.c:0193:read_certificate| Failed to open '/etc/teddycloud/certs/server/ca-root.pem' for cert type detection
ERROR|tls_adapter.c:0380:load_cert| Loading cert '/etc/teddycloud/certs/server/ca-root.pem' failed
INFO |settings.c:1265:settings_load_certs_id| ********************************************
INFO |settings.c:1266:settings_load_certs_id|    No certificates found. Generating.
INFO |settings.c:1267:settings_load_certs_id|    This will take some time...
INFO |settings.c:1268:settings_load_certs_id| ********************************************
INFO |cert.c:0413:cert_generate_default| Generating CA certificate...
INFO |cert.c:0042:cert_generate_rsa| Generating RSA Key... (slow!)
INFO |tls_adapter.c:0208:read_certificate| File '/etc/teddycloud/certs/server/ca-root.pem' assumed PEM style
INFO |tls_adapter.c:0205:read_certificate| File '/etc/teddycloud/certs/server/ca-key.pem' detected as DER style RSA PRIVATE KEY
ERROR|tls_adapter.c:0193:read_certificate| Failed to open '/etc/teddycloud/certs/server/teddy-cert.pem' for cert type detection
ERROR|tls_adapter.c:0380:load_cert| Loading cert '/etc/teddycloud/certs/server/teddy-cert.pem' failed
INFO |cert.c:0442:cert_generate_default| Generating Server certificate...
INFO |cert.c:0079:cert_load_ca| Load CA certificate...
INFO |cert.c:0103:cert_load_ca| Load CA key...
INFO |cert.c:0042:cert_generate_rsa| Generating RSA Key... (slow!)
INFO |tls_adapter.c:0208:read_certificate| File '/etc/teddycloud/certs/server/ca-root.pem' assumed PEM style
INFO |tls_adapter.c:0205:read_certificate| File '/etc/teddycloud/certs/server/ca-key.pem' detected as DER style RSA PRIVATE KEY
INFO |tls_adapter.c:0208:read_certificate| File '/etc/teddycloud/certs/server/teddy-cert.pem' assumed PEM style
INFO |tls_adapter.c:0205:read_certificate| File '/etc/teddycloud/certs/server/teddy-key.pem' detected as DER style RSA PRIVATE KEY
ERROR|tls_adapter.c:0193:read_certificate| Failed to open '/etc/teddycloud/certs/client/ca.der' for cert type detection
ERROR|tls_adapter.c:0380:load_cert| Loading cert '/etc/teddycloud/certs/client/ca.der' failed
ERROR|tls_adapter.c:0193:read_certificate| Failed to open '/etc/teddycloud/certs/client/client.der' for cert type detection
ERROR|tls_adapter.c:0380:load_cert| Loading cert '/etc/teddycloud/certs/client/client.der' failed
ERROR|tls_adapter.c:0193:read_certificate| Failed to open '/etc/teddycloud/certs/client/private.der' for cert type detection
ERROR|tls_adapter.c:0380:load_cert| Loading cert '/etc/teddycloud/certs/client/private.der' failed
INFO |settings.c:1270:settings_load_certs_id| ********************************************
INFO |settings.c:1271:settings_load_certs_id|    FINISHED
INFO |settings.c:1272:settings_load_certs_id| ********************************************
INFO |toniesJson.c:0057:tonies_update| Updating tonies.json from GitHub...
INFO |cloud_request.c:0158:web_request| Connecting to HTTP server raw.githubusercontent.com:443...
INFO |cloud_request.c:0208:web_request|   trying IP: 185.199.109.133
INFO |cloud_request.c:0036:httpClientTlsInitCallbackBase| Initializing TLS...
INFO |cloud_request.c:0071:httpClientTlsInitCallbackBase| Initializing TLS done
INFO |cloud_request.c:0308:web_request| HTTP code: 200
INFO |cloud_request.c:0339:web_request| Content-Type is text/plain; charset=utf-8
INFO |cloud_request.c:0417:web_request| Connection closed
INFO |toniesJson.c:0079:tonies_update| ... success updating tonies.json from GitHub, reloading
INFO |toniesJson.c:0157:tonies_readJson| Trying to read /etc/teddycloud/config/tonies.custom.json with size 0
INFO |toniesJson.c:0242:tonies_readJson| Create empty json file
INFO |toniesJson.c:0157:tonies_readJson| Trying to read /etc/teddycloud/config/tonies.json with size 0
INFO |toniesJson.c:0242:tonies_readJson| Create empty json file
INFO |settings.c:1189:settings_loop| Settings file changed. Reloading.
INFO |settings.c:0659:settings_load_ovl| Load settings from /etc/teddycloud/config/config.ini
INFO |tls_adapter.c:0208:read_certificate| File '/etc/teddycloud/certs/server/ca-root.pem' assumed PEM style
INFO |tls_adapter.c:0205:read_certificate| File '/etc/teddycloud/certs/server/ca-key.pem' detected as DER style RSA PRIVATE KEY
INFO |tls_adapter.c:0208:read_certificate| File '/etc/teddycloud/certs/server/teddy-cert.pem' assumed PEM style
INFO |tls_adapter.c:0205:read_certificate| File '/etc/teddycloud/certs/server/teddy-key.pem' detected as DER style RSA PRIVATE KEY
ERROR|tls_adapter.c:0193:read_certificate| Failed to open '/etc/teddycloud/certs/client/ca.der' for cert type detection
ERROR|tls_adapter.c:0380:load_cert| Loading cert '/etc/teddycloud/certs/client/ca.der' failed
ERROR|tls_adapter.c:0193:read_certificate| Failed to open '/etc/teddycloud/certs/client/client.der' for cert type detection
ERROR|tls_adapter.c:0380:load_cert| Loading cert '/etc/teddycloud/certs/client/client.der' failed
ERROR|tls_adapter.c:0193:read_certificate| Failed to open '/etc/teddycloud/certs/client/private.der' for cert type detection
ERROR|tls_adapter.c:0380:load_cert| Loading cert '/etc/teddycloud/certs/client/private.der' failed
INFO |settings.c:0659:settings_load_ovl| Load settings from /etc/teddycloud/config/config.overlay.ini

I don’t have that much time at the moment, so I will keep you posted asap.

This looks okay, beside that the tonies.json isn’t downloaded.
Follow the guide for setting it up further.

So, back in business for a moment. But for the moment, Docker support seems to be broken for the Zero device (Last version `5:25.0.4-1~raspbian.12~bookworm` seems broken on raspberry with armv6l (`Illegal instruction`) · Issue #47539 · moby/moby · GitHub). I am not able to install a working Docker Compose version…

Try the suggested downgrade:

apt install docker-ce=5:25.0.3-1~raspbian.12~bookworm docker-ce-cli=5:25.0.3-1~raspbian.12~bookworm docker-ce-rootless-extras=5:25.0.3-1~raspbian.12~bookworm

Thanks!

I tried. But compose seems not to work/to be installed correctly. I am on macOS Terminal, connected to my Raspberry via SSH. I ran

docker run ghcr.io/toniebox-reverse-engineering/teddycloud:tc_v0.3.5_alpine

in one window and while stuck on

INFO |settings.c:0659:settings_load_ovl| Load settings from /etc/teddycloud/config/config.overlay.ini

I opened another SSH connection and type

wget https://raw.githubusercontent.com/toniebox-reverse-engineering/teddycloud/master/docker/docker-compose.yaml
docker compose up -d

wget is fine, but compose does not work.

unknown shorthand flag: 'd' in -d
Invalid Plugins:
  compose     failed to fetch metadata: signal: illegal instruction