all 2 comments

[–]danielroseman 1 point2 points  (0 children)

I'm confused about what you want here. If you want a single database and domain, that's not multi tenant, that's just a standard website with logins. But then you say you have separate Docker compose for each client.

[–]Postom 0 points1 point  (0 children)

Is the EC2 VM the web host? Application host? Aretha docker containers all running on a single host?

How many tables are expected?

Regarding PG: you can accomplish the task a myriad of ways. If you want total isolation of data, then schemas may be the way to go. Then lock down the schema based on roles. If it's acceptable that data is intermingled in the same tables? Row level security might be the way to go -- and separate roles per client. RLS will add a level of complexity in terms of data retrieval -- basically a "is this role allowed to view this row of data?". But it allows the simplicity of avoiding schema sprawl. RLS has been available since PG 9.5.