> ## Documentation Index
> Fetch the complete documentation index at: https://docs.airys.chat/llms.txt
> Use this file to discover all available pages before exploring further.

# Bucket GCS

> Configure um bucket do Google Cloud Storage como armazenamento no AirysChat

O AirysChat suporta o armazenamento do Google Cloud como provedor de armazenamento. Para habilitar o GCS no AirysChat, siga as etapas mencionadas abaixo.

Defina google como o serviço de armazenamento ativo nas variáveis de ambiente

```bash theme={null}
ACTIVE_STORAGE_SERVICE='google'
```

## Obter a variável do ID do projeto

Faça login no console do Google Cloud. Na página inicial do seu projeto, você poderá ver o id do projeto e o nome do projeto da seguinte forma.

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/get-your-project-id.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=28118658b739564671b6486bfedda8c2" alt="get-your-project-id" width="3104" height="1974" data-path="self-hosted/images/get-your-project-id.png" />

```bash theme={null}
GCS_PROJECT=your-project-id
```

## Configurar Bucket GCS

Vá para Storage -> Browser. Clique em "Create Bucket". Você verá uma tela como a mostrada abaixo. Selecione os valores padrão e continue.

<img src="https://mintcdn.com/airys/1FWn-RJM-8Ky_sbQ/self-hosted/images/create-a-bucket.png?fit=max&auto=format&n=1FWn-RJM-8Ky_sbQ&q=85&s=2e9acbda2e7fb503d7a587b7e4ee6d42" alt="create-a-bucket" width="3104" height="1974" data-path="self-hosted/images/create-a-bucket.png" />

Depois que isso for feito, você obterá o nome do bucket. Defina isso como GCS\_BUCKET.

```bash theme={null}
GCS_BUCKET=your-bucket-name
```

## Configurar uma conta de serviço

Vá para `Identity & Services -> Identity -> Service Accounts`. Clique em "Create Service Account".

Forneça um nome e um ID para a conta de serviço, clique em criar. Você será solicitado a "Grant this service account access to the project" Selecione Cloud Storage -> Storage Admin conforme mostrado abaixo.

<img src="https://mintcdn.com/airys/8PgT_S4ekmZVDkFb/self-hosted/images/storage-admin.png?fit=max&auto=format&n=8PgT_S4ekmZVDkFb&q=85&s=14ec3115cba60896347a9d688ecabe69" alt="storage-admin" width="3104" height="1974" data-path="self-hosted/images/storage-admin.png" />

## Adicionar conta de serviço ao bucket

Vá para Storage -> Browser -> Your bucket -> Permissions. Clique em add. No campo "New members" selecione a conta de serviço que você acabou de criar.

Selecione a função como `Cloud Storage -> Storage Admin` e salve.

<img src="https://mintcdn.com/airys/8PgT_S4ekmZVDkFb/self-hosted/images/permissions.png?fit=max&auto=format&n=8PgT_S4ekmZVDkFb&q=85&s=25ee20950912756fd5531575ccadbe6c" alt="permissions" width="3104" height="1974" data-path="self-hosted/images/permissions.png" />

## Gerar uma chave para a conta de serviço

Vá para `Identity & Services -> Identity -> Service Accounts -> Your service account`. Há uma seção chamada **Keys**. Clique em **Add Key**. Você verá uma opção como a abaixo. Selecione JSON na opção.

<img src="https://mintcdn.com/airys/8PgT_S4ekmZVDkFb/self-hosted/images/json.png?fit=max&auto=format&n=8PgT_S4ekmZVDkFb&q=85&s=33d960e33fd2f77246f2ba96ec25956d" alt="json" width="1122" height="706" data-path="self-hosted/images/json.png" />

Copie o conteúdo do arquivo json e defina-o como GCS\_CREDENTIALS

Um arquivo de credencial de amostra tem o seguinte formato.

```json theme={null}
{
  "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": ""
}
```

Ao colar as credenciais no arquivo ENV, certifique-se de remover as novas linhas e colá-lo em uma única linha.

```bash theme={null}
GCS_CREDENTIALS={"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": ""}
```

<Note>
  Se você estiver executando o AirysChat v2.17+, certifique-se de envolver `GCS_CREDENTIALS` em aspas simples.
</Note>
