uberswe / beubo

Beubo is a free, simple, and minimal CMS with unlimited extensibility using plugins
MIT License
21 stars 4 forks source link

Installation to setup backend #1

Closed uberswe closed 5 years ago

uberswe commented 5 years ago

Currently the installation is working and redirects to a blank page which will be the admin dashboard but there are a few considerations to make it better.

uberswe commented 5 years ago

Currently the installation asks for the following

A few questions come to mind. The default db backend is MySQL but if we make this a plugin based on ideas in #4 we could make Beubo support any database backend. Maybe it would be easier to keep the MySQL only support and replace it at a later time.

Is the domain needed? Maybe not? I think we can actually remove this and just run it off a port on localhost and then the user is responsible for using Caddy, Nginx or Apache to point the right domain and use iptables to open up the firewall etc.

Admin path, for example systems like Wordpress uses /wp-admin which is then crawled for and users don't like it because it reveals that they are using Wordpress and some don't like it because they feel it's more secure to not reveal the login page. Any user with good technical knowledge would know how to hide, protect or change this but for the average user it would be nice to have it as part of the configuration. However, the average most basic user might get confused by it and forget where to login causing unneeded headaches. I think I will therefore move this to a separate configuration and simply go with /admin for now.

Database credentials are needed to set up the user access at the moment. I will keep this. However if we make databases a plugin this might change.

I like having an admin username and password but the question is if email should be the requirement for the username. What if we did something different and we supported email, username or phone number as the username, what about a public key (this might be a bigger issue for later and might be better as a plugin and could support YubiKey or something similar)? It really doesn't matter for us what the user uses here. For now the password stays.

uberswe commented 5 years ago

Database support could require a plugin, by default Beubo could work as a static site server with no database or admin area. This might require the admin backend to be a plugin too. GORM should maybe be removed from models as well?