dokku / dokku-mariadb

a mariadb plugin for dokku
MIT License
75 stars 26 forks source link

Shared database container? #85

Closed mc0e closed 5 years ago

mc0e commented 5 years ago

The plugin seems to work fine as is, but I was hoping for a slightly different approach. I'd like to model the database container/engine as a separate entity from the service, and allow that one container could support multiple services. I.e. one database engine/container could support multiple services. The advantage of this approach would be that it would require much less RAM for the mariadb container(s), especially in the case of having many web services each with infrequent use.

Given that most commands reference the service they are interested in, I don't imagine much would have to change in the interface. Mostly just an optional parameter on mariadb:create to name the engine, and some implications for how the configuration and data directories are laid out. What else?

Have I misunderstood something about how I could use the existing implementation to acheive this? Would you be interested in extending the official dokku plugin to support this sort of usage? I haven't scoped this out much yet, but if I helped with implementation, would you be OK with supporting this over time?

I don't like the idea of just having different apps use different databases within the one service, unless I can insulate the apps from each others' access details, but maybe there's another approach to be had there.

josegonzalez commented 5 years ago

I'd like to implement this someday, but for now, it's a duplicate of dokku/dokku-redis#64.