Pular para o conteúdo principal

O Arquivo .env

Usamos a gem dotenv-rails para gerenciar as variáveis de ambiente. Há um arquivo chamado env.example no diretório raiz deste projeto com todas as variáveis de ambiente definidas com valores vazios. Você pode definir os valores corretos de acordo com as seguintes opções. Depois de definir os valores, você deve renomear o arquivo para .env antes de iniciar o servidor.

Configurar o URL do frontend (domínio)

Forneça o domínio do seu airyschat como o URL do frontend.
FRONTEND_URL='https://your-airyschat-domain.tld'

Variáveis de produção do Rails

Para implantação em produção, você deve definir as seguintes variáveis
RAILS_ENV=production
SECRET_KEY_BASE=replace_with_your_own_secret_string
Você pode gerar SECRET_KEY_BASE usando o comando rake secret a partir da pasta raiz do projeto. Se você não tiver o rails instalado, use head /dev/urandom | tr -dc A-Za-z0-9 | head -c 63 ; echo ''.
A SECRET_KEY_BASE deve ser alfanumérica. Evite caracteres especiais ou símbolos.

Configuração do banco de dados

O Postgres pode ser configurado de duas maneiras: através de DATABASE_URL ou configurando variáveis independentes do Postgres.

Configurar o Postgres

Defina a variável DATABASE_URL com o valor do URI de conexão do Postgres para conectar-se ao banco de dados. O URI tem o formato
postgresql://[user[:password]@][netloc][:port][,...][/dbname][?param1=value1&...]
Ou você pode definir as seguintes variáveis de ambiente para configurar o Postgres. Substitua os valores aqui pelos seus. Ignore isso se você já tiver configurado DATABASE_URL.
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DATABASE=airyschat_production
POSTGRES_USERNAME=admin
POSTGRES_PASSWORD=password

Configurar o Redis

Para desenvolvimento, você pode usar a seguinte URL para se conectar ao Redis. Para produção, configure sua URL do Redis.
REDIS_URL='redis://127.0.0.1:6379'
Para autenticar conexões Redis feitas pelo servidor de aplicativos e pelo sidekiq, caso ele seja protegido por uma senha, use a seguinte variável de ambiente para definir a senha.
REDIS_PASSWORD=

Configurar e-mails

Para desenvolvimento, você não precisa de um provedor de e-mail. O AirysChat usa a gem letter-opener para testar e-mails localmente Para uso em produção, configure as seguintes variáveis.
# pode ser `email@yourdomain.com` ou `BrandName <email@yourdomain.com>`
MAILER_SENDER_EMAIL=
e com base no seu servidor SMTP as seguintes variáveis
SMTP_ADDRESS=
SMTP_USERNAME=
SMTP_PASSWORD=
SMTP_TLS=
SMTP_SSL=

Postfix

Siga estas etapas se você quiser usar um servidor de e-mail auto-hospedado com o AirysChat. Este é o comportamento padrão a partir da v2.12.0 e depende da variável de ambiente SMTP_ADDRESS não estar definida.
sudo apt install -y postfix
Escolha internet-site quando solicitado e digite o nome de domínio que você usou com a configuração do AirysChat para System mail name.
Por padrão, todos os principais provedores de nuvem bloquearam a porta 25 usada para o envio de e-mails como parte de seus esforços de combate a spam. Por favor, abra um ticket de suporte com o seu provedor de nuvem para habilitar o acesso de saída na porta 25 para que isso funcione. Consulte AWS, GCP, Azure e DigitalOcean para mais detalhes.
Por favor, adicione também registros MX e PTR para o seu domínio. Se os seus e-mails estiverem sendo sinalizados pelo Gmail e Outlook, configure registros SPF e DKIM para o seu domínio também. Isso deve melhorar a sua reputação de e-mail.

Amazon SES

SMTP_ADDRESS=email-smtp.<region>.amazonaws.com
SMTP_AUTHENTICATION=plain
SMTP_ENABLE_STARTTLS_AUTO=true
SMTP_USERNAME=<Your SMTP username>
SMTP_PASSWORD=<Your SMTP password>

SendGrid

Para esclarecimento, o SMTP_USERNAME deve ser definido com o texto literal apikey — esta não é a chave API real. O SendGrid usa ‘apikey’ como o nome de usuário padrão para seus serviços.
SMTP_ADDRESS=smtp.sendgrid.net
SMTP_AUTHENTICATION=plain
SMTP_DOMAIN=<your verified domain>
SMTP_ENABLE_STARTTLS_AUTO=true
SMTP_PORT=587
SMTP_USERNAME=apikey
SMTP_PASSWORD=<your Sendgrid API key>

MailGun

SMTP_ADDRESS=smtp.mailgun.org
SMTP_AUTHENTICATION=plain
SMTP_DOMAIN=<Your domain, this has to be verified in Mailgun>
SMTP_ENABLE_STARTTLS_AUTO=true
SMTP_PORT=587
SMTP_USERNAME=<Your SMTP username, view under Domains tab>
SMTP_PASSWORD=<Your SMTP password, view under Domains tab>

Mandrill

Se você quiser usar o Mailchimp para enviar seus e-mails, use as seguintes variáveis de ambiente:
Mandrill é o serviço de e-mail transacional para o Mailchimp. Você precisa habilitar o e-mail transacional e fazer login no mandrillapp.com.
SMTP_ADDRESS=smtp.mandrillapp.com
SMTP_AUTHENTICATION=plain
SMTP_DOMAIN=<Your verified domain in Mailchimp>
SMTP_ENABLE_STARTTLS_AUTO=true
SMTP_PORT=587
SMTP_USERNAME=<Your SMTP username displayed under Settings -> SMTP & API info>
SMTP_PASSWORD=<Any valid API key, create an API key under Settings -> SMTP & API Info>

Configurar idioma padrão

DEFAULT_LOCALE='en'

Configurar o armazenamento

O AirysChat usa o active storage para armazenar anexos. A opção de armazenamento padrão é o armazenamento local em seu servidor. Mas você pode alterar para usar qualquer um dos provedores em nuvem, como amazon s3, microsoft azure, google gcs etc. Consulte configurando armazenamento na nuvem para variáveis de ambiente adicionais necessárias.
ACTIVE_STORAGE_SERVICE=local
Quando o armazenamento local é usado, os arquivos são armazenados no diretório /storage na pasta raiz do airyschat.
É recomendado o uso de um provedor em nuvem para o armazenamento do seu airyschat para garantir o backup adequado dos anexos armazenados e evitar a perda de dados.

Variáveis de Registro (Logging) do Rails

Por padrão, o AirysChat capturará logs de nível info em produção. Consulte rails docs para as opções adicionais de nível de log. Nós também manteremos 1 GB dos seus logs recentes e o seu último arquivo de log rotacionado. Você pode fazer um ajuste fino nessas configurações usando as seguintes variáveis de ambiente
# possible values: 'debug', 'info', 'warn', 'error', 'fatal' and 'unknown'
LOG_LEVEL=
# value in megabytes
LOG_SIZE= 1024

Configurar Canal FB

Para usar o Canal FB, você deve criar um aplicativo do Facebook no portal do desenvolvedor. Você pode encontrar mais detalhes sobre como criar canais do FB aqui
FB_VERIFY_TOKEN=
FB_APP_SECRET=
FB_APP_ID=

Usando CDN para entrega de ativos

Com o lançamento da v1.8.0, estamos habilitando o suporte CDN para o AirysChat. Se você tem um site de alto tráfego, recomendamos configurar uma CDN para a entrega dos seus ativos. Leia o guia configurando o CloudFront como sua CDN.

Habilitar o cadastro de nova conta

Por padrão, o AirysChat não permitirá que os usuários criem uma conta [multi-locação/multi-tenancy] a partir da página de login. No entanto, se você estiver configurando um servidor público, poderá habilitar o cadastro usando:
ENABLE_ACCOUNT_SIGNUP=true

Habilitar o upload direto para a nuvem de armazenamento

Por padrão, o AirysChat enviará os arquivos para o servidor da aplicação e então fará o envio para o armazenamento na nuvem. Nós introduzimos a funcionalidade de upload direto para que possamos enviar o arquivo diretamente para o armazenamento na nuvem. Isso foi construído de acordo com a nova funcionalidade de upload direto do rails documentada aqui. Defina a variável de ambiente abaixo como true para usar o recurso de upload direto. Certifique-se de seguir este guia e definir a configuração CORS adequada em seu armazenamento na nuvem após definir DIRECT_UPLOADS_ENABLED como true.
DIRECT_UPLOADS_ENABLED=true

Google OAuth

Para habilitar o Google OAuth no AirysChat, você precisa fornecer o ID do cliente, o segredo do cliente e a URL de retorno de chamada (callback URL). Você pode encontrar as instruções para gerar os detalhes aqui. Defina as variáveis de ambiente GOOGLE_OAUTH_CLIENT_ID e GOOGLE_OAUTH_CLIENT_SECRET na instalação do AirysChat usando os valores que você copiou do Google API Console. Defina a variável de ambiente GOOGLE_OAUTH_CALLBACK_URL com a URL de retorno de chamada que você usou no Google API Console. Aqui está um exemplo do mesmo
GOOGLE_OAUTH_CLIENT_ID=369777777777-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com
GOOGLE_OAUTH_CLIENT_SECRET=ABCDEF-GHijklmnoPqrstuvwX-yz1234567
GOOGLE_OAUTH_CALLBACK_URL=https://<your-server-domain>/omniauth/google_oauth2/callback
A URL de retorno de chamada deve estar em conformidade com o formato no exemplo acima. Este endpoint não pode ser alterado no momento.
Após definir essas variáveis de ambiente, reinicie o servidor do AirysChat para aplicar as alterações. Agora, os usuários poderão fazer login usando as contas do Google.

LogRocket

Para habilitar o LogRocket no AirysChat, você precisa fornecer a ID do projeto no LogRocket. Aqui estão os passos a seguir:
  1. Abra o site do LogRocket e crie uma conta ou faça login em sua conta existente.
  2. Após fazer o login, crie um novo projeto no LogRocket clicando em “Create new project”.
  3. Digite um nome para o seu projeto e salve a ID do projeto.
  4. Defina a variável de ambiente LOG_ROCKET_PROJECT_ID em seu arquivo .env com a ID do projeto que você copiou do LogRocket.
LOG_ROCKET_PROJECT_ID=abcd12/pineapple-on-pizza
Após definir esta variável de ambiente, reinicie o servidor do AirysChat para aplicar as alterações. Agora, o LogRocket começará a capturar sessões de usuário na sua instalação do AirysChat.