Settings

Theme

Ask HN: Single Server with Filesystem Database?

2 points by deepstream 7 years ago · 1 comment · 2 min read


I'm currently building a software-as-a-service app and using a novel architecture

I'm going to use the unix specifically Debian file system and user accounts as the users database. so basically whenever someone signs up I run a shell script that creates a new user add some to some relevant groups. the benefits are I got password checking baked in and I can save their data as simple files under the user's home directory.

I'll disable shell login as well as whenever I run a workload for the service application I can use the operating system to run that command as the actual user.

I just figure it's a simple and useful architecture because I get all the benefits of multi-user operating system baked in without having to think about any of that myself. I don't have to worry about a database.

and if my audience scales then I just move to a bigger instance. plus if I need to debug or support something I can just go into the user's home directory and change it easily myself.

also looking at the pricing of instances and the pricing of my application this will be affordable and in order to make this happy side business I don't need that many paying users.

I just figured this is such a good and simple architecture where it's all of the one machine and I can manage all myself but I'm also writing it in the cloud but I could also move it out if I want it. it gets a lot of flexibility and simplicity and I just think it's better than you know having a separate database and separate web server and so on.

this probably downsides to this so am I asking for ideas about that, so I can handle them before they surprise me.

nwrk 7 years ago

That sounds, well novel.

I would encourage you to review: (Free tier) https://auth0.com/

(Free tier) https://firebase.google.com/docs/auth/

Review any other proven and secure user auth solution ie. http://www.passportjs.org/

Questions to asks yourself: How it will scale ? Is it compatible with PAM/LDAP ? Let say you want at least two servers for scale or high availability.

How about social login ? How about forgotten password?

How you can delegate the work on it ? (in case, you want more people work on it in future)

For personal projects, get some paying clients first, worry later.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection