[Citadel Development] Re: Long term plans for phase-out of Berkeley DB?

2023-07-03 Thread IGnatius T Foobar
You mean like this?   ;) 
 [ https://code.citadel.org/citadel/citadel-docker ] 
  
 I'd like to get things trending towards more deployment of the Docker image
(or technically an OCI compatible container, since you don't have to run it
under Docker, blah blah blah) 
  
 The current distribution is built as what I've recently learned is called
an "omnibus" package.  That is to say, it holds all components together in
a single container, and is packaged that way for ease of deployment rather
than for optimal componentization. 
  
 You're also correct in pointing out that I would need `supervisord`, but
the idea of bundling an entire Python runtime just to run supervisord rubbed
me the wrong way so I wrote `ctdlvisor`, a 285-line C program that does roughly
the same thing. 
  
 So yes, it does make sense to try to move everyone towards the Docker version.
 I don't know what percentage of sites
are running it right now.  Based on the number of downloads reported by 
DockerHub
it's pretty significant but I think Easy Install is still more popular.  That
may simply be due to the fact that Easy Install is the first option listed
on the download page, and people are attracted to the word "Easy" in the title.
 They may be afraid of Docker, even though the description of that download
says "It's our easiest install ever!" 
 


[Citadel Development] Re: Long term plans for phase-out of Berkeley DB?

2023-07-03 Thread LoanShark
 >That seems to imply that Sqlite might be a better option than   
 >MySQL/MariaDB because we do *not* want to require people to install a  

 >working database server before Citadel can be installed.   
  
 Devil's Advocate from an Armchair Programmer: 
  
 these days, if you bundle an app as a Docker image it's easy enough for the
user to just spin it up. Docker image takes care of all the database bundling.
Since it would be >1 process per image (database, citserver, maybe also webcit)
you would need to run them under supervisord