Using family dashboard
I need help setting up ente family for my self hosted environment, on the docs there's instructions for setting the photos, accounts, albums, auth and cast parts of the web app, but I couldn't find nothing on the families
Does anybody has any insight on this topic?
Thanks in advance! 🦆
26 Replies
Remember to use /solved to mark your thread as solved once your question is answered.
Not sure if it’s a feature on self hosting given its primary function is to share a plan you’re paying for
ah bummer, I figured that it would be easier to manage my girl account with the family dashboard to see the space she uses and all, and not having to log into the postgres database to change her quota and all, but yea I thought that it wasn't possible because the code for the families app is on another repo (maybe after they merge with the other web apps would be possible?)
I also would love this since it helps visualize how much storage family is using total.
In https://github.com/ente-io/ente/discussions/2623 the "payment-provider" attribute is mentioned.
So I searched within the postgresdatabase:
That found something in the table "subscriptions" :
A "column_name" "product_id" which is set to "free" for each user right next to "payment_provider"
I bet we need to change from "free" to something else, but all I tested didn't result in success.
Here is a screenshot of both columns

@Staff is there a hidden ente cli flag we could use in "admin update-subscription"? If not, which values are valid in "product_id" and "payment_provider"?
Thanks ahead and continue the great work! :duckyheart:
Please don't ping Staff
sorry
No problem 💚
free and None should worksadly, neither "none" nor "None" seem to work. Column "product_id" and "payment_provider" tested.
What if you skip the param?
If you have access to the DB, you could connect to it and change the rows directly as well
leaving empty didnt help.
Yes, I am editing the DB.
There's no constraint on the
payment_provider column, you can enter any non-empty valueThis is an export of the row from the user:
Looks pretty similar to what you sent
3,1580559962386440,536870912000,cli-on-1754399615,32503593600000000,2025-02-14 08:32:10.518527,free,"",,{},"0"
What would be an appropriate Curl GET command to get everything from a specific user?
curl -X GET 'https://my-ente.io/admin/user/subscription?userID=3'
doesnt seem to work
Here are the list of all admin APIs: https://github.com/ente-io/ente/blob/99556dbbcdb362935b780c5e8c9af60045a7da74/server/cmd/museum/main.go#L736-L757
/user should workWell, i don't get any errors using
But I get also no json object. Just nothing
The same goes for the PUT command you sent. But at least the PUT does make changes. So that works.
Should I get anything back?
Here are the cleaned links without tracking parameters:
Confirmed I set "productID": "none" via curl, but that doesn't work. The user is then not able to login anymore.
Product ID should be "free"
okay, it is. But how to apply a family plan then?
I need to be in the "paid" subscription to use the family plan, correct? But which would that be?

Got it, sorry I misunderstood your previous question
Family plans aren't designed for our self hosted setup at the moment, since you get to administer the storage variables with less restrictions on your own server
Is there a reason you're looking to use family plans instead of individual accounts?
Ah, get it! Thanks!
I just recently introduced my wife to the product and while administering her and starting to share albums I stumbled accross the "family" option. I was then curious how other people manage that and got to this discussion: https://github.com/ente-io/ente/discussions/2623 which led me to a search in discord.
I think managing individual accounts is just fine for self hosted if nothing else is implemented yet.
So, @zeonce this post could be probably marked as solved?
Got it, thanks for sharing, and yes right now we don't have an easy way to configure family plans on self hosted instances, but I've made a note of this. If nothing, this will make it easier to re-configure storage limits (without using the CLI / poking the DB)