How to manage multiple users/accounts?

As Google Photos’ service clearance time is approaching quickly, I’m looking for the best alternative to self-host my photos as well as the ones from several family members.
PS is a great substitute, for my own usage, but I’d like each of the members to have their own private libraries. I don’t think that the current plans to implement the multi-user support will match to what I’m looking for.

So my questions are:

  • is such a feature (private libraries for each account) something that will appear, some day ?
  • if not, is there a strategy, tools, to implement something that could do the work. Maybe some kind of synchronization between devices on specific (user) folders with permissions… ?
2 Likes

I think this is what Daniel was really asking: that he wanted one library, but with retained file ownership and access authorizations.

In prior sharing discussions, I’d tried to simplify the design by completely avoiding “users”. Access to a tag or asset would only be via a share token:

image

What you guys are saying is that PhotoStructure really need users, where each user has a role, and permissions to an asset or tag should be granted to users, rather than simply using access tokens. Something like this:

image

Where “role” is something like “owners”, “contributors”, and “viewers”:

  • viewers can only view or comment on a tag or asset
  • contributors are viewers that can also add new assets and hide existing assets
  • owners are contributors that can also allowed to delete assets

If an asset has no associated user, it defaults to the library owner(s).

There are a couple things to think about here:

File ownership

Using filesystem user/group/ACLs

PhotoStructure would need CAP_CHOWN to copy files into the library across volumes and retain prior user/group file ownership. I’m not aware of an equivalent on macOS or Windows.

This would require PhotoStructure to run as an admin, which is not acceptable, which is why this option isn’t acceptable.

Using external metadata

If asset ownership could be inferred and stored as metadata:

  1. the “automatically organized” library assets would all be owned by the user that PhotoStructure runs as

  2. the scanned directories would need to be readable by the user that PhotoStructure runs as, and writable if metadata persistence was needed, or move-on-import was enabled.

  3. scanned directories could be annotated with a PhotoStructure owner (either via a system setting or with a .photostructure.toml file that sits in the directory and is applied recursively). This would support something like resilio sync on your NAS syncing a family’s different file and folders, and each root sync folder could be annotated with ownership.

Users

Users need

  • some unique name (possibly their email, or a shorter handle)
  • if the user is a library “owner”

(I don’t think the idea of “visitor” or “contributor” makes sense for a whole library: what do you think?)

To get your desired feature of having a single PhotoStructure library support several different users, each with their own private library: you’d have one “admin” user, but normally log in with your “normal” user that only has access to your files.

A reasonable future feature would be allowing users to share ownership of an asset or group of assets with someone else via the UI.

User authentication within PhotoStructure libraries

I’m planning on supporting both external authentication (say, via cloudflare teams or other reverse proxies) and authentication within PhotoStructure (via what amounts to api access tokens: just username and access token).

We need a mapping between externally authenticated users and internal PhotoStructure users to grant those users their roles.

1 Like

Hum, not sure what Daniel was thinking. My guess was that he wanted him and his wife to have access to a common library, but each with different permissions to manage their pictures (admin would have all the rights -rw-, others would only be allowed to access the galleries, no edition). But I re-read the thread and, yeah, he was probably asking for exclusive rights for each user.

1 Like

Relatable… I also feel this way sometimes :joy:

I think what I really want is this:

  • I have my own albums that I have full access to (and ideally can share individual photos or entire albums via URL, like I do with Google Photos today)
  • My wife has her own albums, that she has full access to
  • In addition to those, we also have some shared albums between us, that we can both modify
2 Likes

Yeah, this is just like what my family needs: with the need to share albums to extended family members.

So, I don’t think you two are asking for different things. I switch this topic to be a question, rather than a feature request, so people don’t vote on this and the other topic.

I don’t want to browbeat you, but as Google Photos free service is very near to the end, do you have a plan on releasing something about the multi-user management ? I see lots of users looking for a viable alternative, but only few options exist. Yours has the potential to beat them all, once that important feature will be available (with batch move/delete/share options :stuck_out_tongue: ).

Do you mean like a marketing post, or actually ship the feature?

Given that this feature has 0 votes, I don’t think there’s huge demand for it, specifically. (I’d personally find it handy, though, so I’m interested in building it).

FWIW, I’m trying to get the highest-voted-on features shipped ASAP.

  1. The search UI I hope to have done today, and then push a beta build, so I can
  2. get to work on delete/hide/fave, and then either
  3. faces or sharing (I may do sharing before faces, because sharing is required for people to actually use PhotoStructure to share with the family and friends without exposing their whole library).
1 Like

with this user approach, i think the “user” should have the ability to upload their own photos via the web ui and also have access to the photos shared with them. In the storage possibly having users separated into different folders.

1 Like

thanks this satisfies me, but should I use resilio sync in this scenario ? or just an alternative, I use Gs Richcopy 360 , will it works?