Improve local secret setup

The #1973 (closed) Introduced a basic way of skipping the whole secret setup and allowed new contributors to clone the webapp and start it almost straight away. In the next iteration we could do all/some of the following:

Generate meaningful, persistent seed data

  1. The npm run create-seed-data is using the fixtureLoader which is primarily intended for testing. That means the test data don't have natural language strings (e.g. _testuser_31583152697585 instead of john-smith)
  2. Every run of create-seed-data generates a new set of test data, improvement would be to have constant entities and upsert them in the database
  3. When we discard redis container, the webapp tries to revalidate user tokens with GitHub, fails and invalidates the tokens. That means the generated seed data won't be reusable indefinitely.

Better secret generation/handling

  1. There are automatically generated secrets in the obtain_secrets script Those could be generated without too much of user input

    We could make this even more slick by having npm run configure which would run create-seed-data and run obtain-secret for all of the values we use generate_password for. Since those secrets require no human interaction, they can be part of the easy script.

  2. sourcing the secrets without user having to run source .env

  3. we could only switch off specific OAuth providers if their secretes are missing (now it's all or nothing, but user might want to only test GitLab OAuth)

  4. Making sure a subset of tests can run locally without the secretes, right now they seem to be failing