tethysplatform / tethys

The Tethys Platform main Django website project repository.
http://tethysplatform.org/
BSD 2-Clause "Simplified" License
92 stars 49 forks source link

[FEATURE] Add a `tethys quickstart` command #979

Open swainn opened 1 year ago

swainn commented 1 year ago

Is your feature request related to a problem? Please describe.

The current setup of a new installation of Tethys Platform involves entering multiple commands:

conda create -n tethys ...
tethys gen portal_config
tethys db configure
tethys manage start

Describe the solution you'd like I propose we create a new tethys CLI command that does all of the setup for a development installation:

conda create -n tethys ...
tethys quickstart

This command would generate the portal config file, configure the database, and start tethys at a minimum. Actually, I'm waffling on the starting tethys, but maybe that's an option?

It could also have an interactive mode that prompts the users to enter/choose common options: things like what type of database they want to set up, usernames and passwords, common portal settings they want to set, etc. If they select postgres it could also assist in setting that up by setting the correct settings, installing the needed packages, and creating the docker container if they want that option.

Describe alternatives you've considered N/A

Additional context N/A

swainn commented 1 year ago

On second thought, make the interactive mode by default, but have the option to run it non-interactively with all the defaults (sqlite db). Also, include instructions for how to start tethys in the future.

Detect if docker client is installed and running and suggest using docker if available. but don't if not.

Prompt for portal admin username and password and show defaults (has the double benefit of showing users what the default user account credentials are).

Detect if the configuration is already done and instruct how to start tethys / ask if they want to start it now.

swainn commented 1 year ago

Future: