freeCodeCamp / chapter

A self-hosted event management tool for nonprofits
BSD 3-Clause "New" or "Revised" License
1.92k stars 359 forks source link

Documentation for configuring (and using) integrated services #2138

Open gikf opened 1 year ago

gikf commented 1 year ago

Discuss your ideas or share your views:

There's few external services that are vital for being able to run chapter the way it's intended.

I wondered how desired would be to have documentation/guide, how to configure them to use with chapter. Of course these services have their own documentation, however for somebody interested mainly in setting up chapter, that's not going to be the easiest to figure out what is needed and what not.

allella commented 1 year ago

@gikf @ojeytonwilliams we have basic notes in the Owner FAQs talking about the need to setup 3rd party services (email transactions and block file storage), along with example services. Though, we don't go into how to configure services.

I assume this would mostly involve setting values in .env, but it wouldn't hurt to give more guidance, even if we're pointing to sections of the CONTRIBUTING.md for details on how things work.

image

Based on the .env.example, the only other remote service I see is for an optional remote database, which is touched on in the CONTRIBUTING.md's database section.

Questions

gikf commented 1 year ago

Auth0 for authentication

ojeytonwilliams commented 1 year ago

Is the MVP sort of locked into either SES or Sendgrid for email?

SES, Sendgrid and SMTP should all work. Which one is used is configured by the EMAIL_SERVICE variable. Each provider then requires additional variables. SES: SES_ACCESS_KEY_ID and SES_SECRET_ACCESS_KEY, SMTP: EMAIL_USERNAME, EMAIL_PASSWORD, EMAIL_HOST and Sendgrid: SENDGRID_KEY. The three providers can be found here: https://github.com/freeCodeCamp/chapter/tree/main/server/src/services/mail-providers

How is block storage (S3-compatible) being configured, since I don't see a placeholder for host, keys, port, etc in .env.example?

Chapter does not use it. I believe we considered hosting images, but deferred that until after the MVP.

Does fCC or GitHub have a convention on documenting deployment vs contributing?

I don't believe so, no. However, I'd say the best approach would be to have a separate deployment.md and link to that from the main README.