seedcase-project / design

Overall architectural design documentation for Seedcase software.
https://design.seedcase-project.org
Creative Commons Attribution 4.0 International
0 stars 0 forks source link

Where to aim dissemination/installation #39

Open lwjohnst86 opened 1 year ago

lwjohnst86 commented 1 year ago

The easier it is to install, the more people will use it. So, do we disseminate through our website? Or through other avenues like:

Seedcase should be easy to install and use by teams/organizations. To create a great developer experience, we might need to support different options. Currently, I can imagine 7 different options, but more might exist

  1. An executable that works on Windows, Linux and MacOS. Maybe possible with PyInstaller
  2. Clone and run the python code
  3. Running a single docker image on a server where docker is installed (sqlite). Example: https://hub.docker.com/repository/docker/philter87/django/general
  4. Running a docker-compose.yaml on a server where docker is installed. This is for a more complicated setup with Postgres, File Server, Lets encrypt and etc.
  5. Instructions for teams/organizations on how to install a docker image on a cloud provider. For instance, this is very simple on render.com and you can do it for 7$ + 0.25$/GB per month
  6. A university ask us to create a seedcase instance and they get their own url and database deployed in the cloud somewhere
  7. A pay-by-the-storage option in a central seedcase server. The team/organization pays based on usage

Problem for 1, 2, 3 and 4! Option 1, 2, 3 or 4 requires additional knowledge on how to buy a domain name and how to secure a webpage with TLS. Otherwise, people will not be able to login or upload data securely. (It could be automatically solved with self-signed certificate, but the user would have to proceed to page despite warnings)