Skip to content

📦 Infrastructure - ❗Add necessary infrastructure to spin up local copy for Developers/Contributors #1466

@micah686

Description

@micah686

Is your feature request related to a problem? Please describe.
So currently, there are some major blockers that would be preventing potential developers/contributors from submitting Pull Requests. There is not an easy way to set up the server for local testing, and that will turn people off from contributing if this project wants people to contribute.

Describe the solution you'd like
I would like to have an easy way to spin up the Valour server for local development, without needing to connect to live services (SendGrid, CloudFlare, AWS S3).

This is already mentioned in part by some PRs and issues.
#1395
#1394
#1393
#1419
#1380

I see the following tasks needing to be completed in order to have the application easy to spin up for anyone wanting to contribute.

  • Add a default appsettings.Development.json to the Server. (This would act as a base configuration, and allow developers to have an already configured settings when starting out)
  • Create a Docker Compose/Aspire for easy orchestration of the server and services (both compose and aspire allow for spinning up the services with one command/click, which would help with development)
  • Have a way to send email to a local/fake email server (like MailPit). Right now, the server requires a SendGrid API key.
  • Use either local storage, or a solution like MinIO/RustFS/SeaweedFS as an alternative to S3 for storage.
  • Ensure that you can spin up, register, and log in from an entirely self hosted instance (no cloud connections). Right now, trying to spin up the services locally is failing with the postgres database migrations, which is fustrating for new developers.
  • Update the readme.MD with instructions for self hosting/local development. If the instructions are too complex, you could always move the instructions to a SELF_HOSTED.MD

Additional context
I am willing to help out as I can. But the process currently outlined in the readme is lacking, and the infrastructure of the project is lacking.

Metadata

Metadata

Assignees

No one assigned

    Labels

    EnhancementNew feature or requestNeeds Looking AtThis issue needs to be looked at

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions