twenty
twenty copied to clipboard
Install from browser
We don't want to be a 'fake open source' solution that forces you to use their cloud offering and make self-hosting incredibly hard.
I tried various open source projects this morning to see how they got through the server configuration. Worpress and Metabase are were the easiest. Wordpress is a simple drag-and-drop, then browser pages creates a wp-config file. Metabase is a simple docker command, then brower page does config. They create an H2 database that's embedded within the docker (but they do not recommend using it for production).
In our case, I don't think we want to write to the file system or create a temporary database. We only want to support Postgres. So the setup will still be a bit harder, requiring people to set an environment variable, but nothing too difficult.
What made the biggest difference between the projects I tested was the "time to first web page". The less I had to wait in CLI mode, the more I felt like "Ok this seems easy and I'm close to getting something that works because I already see a good looking browser page"
So I think we should:
- make sure the front/backend server can be started even if DATABASE isn't setup. Have as less requirement as possible.
- create an /install page similar to the signing page. That page will call the healthcontroller every 2 second and give clear instructions on missing steps that needs to be addressed in order for the server to be properly configured
- make sure user is redirected to /install if server hasn't been properly configured
This is not a top priority (still need to work on adding more features/stability this quarter) but I wanted to log it now so we don't forget, and if eventually someone wants to pick it up (probably a bit hard for a first issue on the project)