Skip to content

Prompt user on installation for intended usage #34895

Open
@delvh

Description

@delvh

Feature Description

At the moment, there are a couple of modes of using Gitea, depending on your use case.
Most often, the use cases boil down to one of the following (did I forget any?):

  • Small instance for a couple of known users, low-end hardware
  • Slightly larger instance for a couple more of known users, better hardware
  • Public instance
  • Larger company with strict rules

Additionally, there are typically the following network modes:

  • Gitea has free internet access
  • Gitea is located inside an intranet to allow only access inside a company

These modes of usage often conflict with each other in terms of expectations for what Gitea should offer - i.e. larger organizations need orgs, teams, and being able to assign an issue to multiple projects, public instances need everything and especially user limits, small instances have typically little use for advanced features like teams or limits, …

Historically, we often enough had the problem that a feature was developed with one specific group in mind, while the others at best ignore this feature or actively suffer from it (having to manually disable it or worse).

As such, I can only see one problem going forward to make the experience more seemless:
Prompting the user when installing exactly how the instance is expected to be used.
Existing instances should fail to start if these two config options (use case and network restrictiveness) haven't been set.

Depending on the chosen usage mode, config option default values can be chosen dynamically.

This proposal explicitly does not propose any explicit config default value changes.
Such a discussion should only take place once this proposal has been implemented.

Thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    type/proposalThe new feature has not been accepted yet but needs to be discussed first.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions