I’m running TrueNAS CE v25.10.5 on my Beelink ME Mini. The apps I use are MeTube, Jellyfin, nginx proxy manager, Wordpress an Pi-hole. Now I’d like to install SparkyFitness as well, but the installation keeps failing. As far as I could figure out with ChatGPT the issue seems to be the postgreSQL update the app is trying to do during installation, which somehow isn’t working. Then the whole installation is cancelled.
Do you guys have any recommendations on what else I could try? I’m kind of a noob to this and don’t have any clue…
Postgres needs permission for uid 999 which in true as is the building netdata user. Grant that user permissions on the dataset you want to use for the postgres DB and it should run.
User - apps - Modify
User - netdata - Modify
owner@ - netdata - Full Control
group@ - docker - Modify
Group - builtin_users - Modify
Group - builtin_administrators - Full Control
User - apps - Modify
User - truenas_admin - Modify
Group - www-data - Full Control
Group - docker - Full Control
Group - apps - Traverse
I’m sorry, I’m totally new to this and this is so confusing, i literally don’t know which setting is affecting or blocking what exactly…
Did you set the acls through the Dataset tab in the truenas gui or did you set them during the apps setup? During the apps setup theres a “enable acl” checkbox where you can set acl entrys. There’s also a force acl checkbox which may be checked for it to work
If i completely wiped my “sparkyfitness” dataset and the “backup”, “uploads“ and “postgres” child datasets, how should i set them up again? Could that help or is it nonsense?
give me like 20 minutes, i’m in the middle of someting right now. Then i’ll attempt a test install on my truenas and post back the steps if i was successfull
Nope, no chance. I also can’t get it to run.
I’ve tried:
manually creating the datasets and setting permissions before starting the installation
creating the datasets and setting acls during app installation, with/without checking the force acl checkbox and the automatic permissions checkbox
Creating only a sparkyfitness dataset and then creating folders inside the Dataset, not child datasets for upload backup and postgres, it still fails.
But I believe it’s not failing because of postgres permissions for me. my app_lifecycle log says the ix-sparkyfitness-server-1 container is unhealthy, but not why…
I think I found the solution. It’s very picky about the passwords. You can run a live log of the docker at the time of install, and you’ll see what the real error is.
What I found was
(SPARKY_FITNESS_API_ENCRYPTION_KEY) has an invalid length (47). Expected 64 hex characters or 44 Base64 characters.
Then I used a tool to generate the key. Probably best to do the same thing for the auth secret as well. Though I don’t think the DB password is quite as picky.
I suppose someone should add this info to the sparkyfitness installation doc, or the tooltip on the webui. I’m a bit too lazy to do the pull request and no longer feel like supporting github as well. Anyway, that should do it for y’all.
Thanks for the help. I’ve been trying to install this app for months and haven’t been able to get it working.
One addition to the guide could be noting that the online APP_KEY generator creates codes like base64:Aqp3ZV9Vwr..., and you need to remember to remove the base64: part from the key.
I’m getting an “Invalid Origin” error which prevents me from signing up, even though this is a local environment. Thanks to Zawatskyj from his GitHub bug report, you can mitigate this by setting the frontend URL to an IP address.
If you’re new at TrueNas, just put your nas IP and your SparkyFitness Port Number.