bluecherrydvr / bluecherry-apps

Bluecherry surveillance system (server application)
http://www.bluecherrydvr.com
GNU General Public License v2.0
211 stars 68 forks source link

Simplify installation process for package based installs #631

Open curtishall opened 10 months ago

curtishall commented 10 months ago

Offer two install types 'basic' and 'advanced'. Basic should simple questions similar to the docker install and do all the work in the background. 'Advanced' can follow the current installation process.

In 'basic' we automatically create bluecherrydb (or bluecherry-1 if the former exists), generate random password and put it into bluecherry.conf.

andrey-utkin commented 10 months ago

One trouble is that once we prompt the user "do you want basic or advanced?" it's no more as simple as it could be.

I think it would be OK to just skip all the questions at the install time and provide a similar setup as in Docker case.

A clean 22.04 Ubuntu system seems to end up with mysql (8.0) where root user has no password, but actually performing a working access control check and letting only real root in. I am still cautious whether this behaviour is universal across supported distros, but it's promising. This would mean we can create a database without prompting the user.

root@bc-jammy:~# sudo -u bluecherry mysql
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
root@bc-jammy:~# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13