diff --git a/docs/development/project-setup/configuring-cloud-storage.md b/docs/development/project-setup/configuring-cloud-storage.md new file mode 100644 index 000000000..ccdcf7da4 --- /dev/null +++ b/docs/development/project-setup/configuring-cloud-storage.md @@ -0,0 +1,58 @@ +--- +path: "/docs/configuring-cloud-storage" +title: "Configuring Cloud Storage" +--- + +### Using Amazon S3 + +You can get started with [Creating an S3 bucket](https://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html) and [Create an IAM user](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) to configure the following details. + +Configure the following env variables. + +```bash +ACTIVE_STORAGE_SERVICE='amazon' +S3_BUCKET_NAME= +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_REGION= +``` + + +### Using Google GCS + +Configure the following env variables. + +```bash +ACTIVE_STORAGE_SERVICE='google' +GCS_PROJECT= +GCS_CREDENTIALS= +GCS_BUCKET= +``` + +the value of the `GCS_CREDENTIALS` should be a json formatted string containing the following keys + +```bash +{ + "type": "service_account", + "project_id" : "", + "private_key_id" : "", + "private_key" : "", + "client_email" : "", + "client_id" : "", + "auth_uri" : "", + "token_uri" : "", + "auth_provider_x509_cert_url" : "", + "client_x509_cert_url" : "" +} +``` + +### Using Microsoft Azure + +Configure the following env variables. + +```bash +ACTIVE_STORAGE_SERVICE='microsoft' +AZURE_STORAGE_ACCOUNT_NAME= +AZURE_STORAGE_ACCESS_KEY= +AZURE_STORAGE_CONTAINER= +``` diff --git a/docs/development/project-setup/environment-variables.md b/docs/development/project-setup/environment-variables.md index 2c08f5200..fe46157a1 100644 --- a/docs/development/project-setup/environment-variables.md +++ b/docs/development/project-setup/environment-variables.md @@ -51,13 +51,12 @@ FRONTEND_URL='http://localhost:3000' ### Configure storage -Chatwoot currently supports only S3 bucket as storage. You can read [Creating an S3 bucket](https://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html) and [Create an IAM user](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) to configure the following details. +Chatwoot uses [active storage](https://edgeguides.rubyonrails.org/active_storage_overview.html) for storing attachments. The default storage option is the local storage on your server. + +But you can change it to use any of the cloud providers like amazon s3, microsoft azure and google gcs etc. Refer [configuring cloud storage](./configuring-cloud-storage) for additional environment variables required. ```bash -S3_BUCKET_NAME= -AWS_ACCESS_KEY_ID= -AWS_SECRET_ACCESS_KEY= -AWS_REGION= +ACTIVE_STORAGE_SERVICE='local' ``` ### Configure Redis URL