Este é um guia how-to sobre Configurações Ocultas do Site, como ativá-las e por que você pode querer ajustá-las.
Nível de usuário necessário: Administrador
Importante: O acesso ao console é necessário para algumas etapas.
No Discourse, as configurações ocultas do site referem-se a opções de configuração que não são facilmente visíveis ou acessíveis através da interface padrão do painel de administração. Essas configurações fazem parte da configuração de backend que pode controlar vários recursos avançados ou potencialmente impactantes do site.
Essas configurações ocultas vêm com valores padrão pré-configurados, definidos para garantir desempenho e segurança ótimos com base em casos de uso comuns e melhores práticas.
As configurações ocultas estão ocultas da interface de configurações padrão para evitar má configuração acidental por administradores que podem não entender completamente suas implicações. Elas são destinadas a:
- Administradores que têm um profundo entendimento do funcionamento interno do Discourse.
- Casos específicos onde uma configuração de site incomum ou muito específica é necessária.
- Testes ou recursos experimentais que ainda não estão prontos para uso geral.
Administradores que desejam modificar configurações ocultas geralmente precisam fazê-lo porque a configuração padrão não se alinha perfeitamente às suas necessidades.
Notas Importantes sobre Configurações Ocultas:
Ajustar configurações ocultas do site no Discourse pode levar a vários problemas, como vulnerabilidades de segurança, impacto negativo no desempenho, degradação da experiência do usuário ou perda de dados, se não for feito com cuidado!
As configurações ocultas do site devem ser modificadas apenas por administradores de Discourse experientes. Antes de alterar uma configuração, certifique-se de entender o que ela faz e as implicações da mudança. Sempre que possível, implemente mudanças de configuração significativas em um ambiente de staging ou desenvolvimento. Antes de fazer alterações amplas ou críticas, garanta que os backups estejam atualizados para restaurar o estado do fórum se algo der errado.
Como Editar Configurações Ocultas do Site
Opção 1: Console Rails
Para modificar configurações ocultas do site, você geralmente precisa usar o console Rails, uma ferramenta de linha de comando que permite interagir diretamente com o backend da sua instalação do Discourse. Para ajustar configurações via console Rails, siga estas etapas:
- Acesse o Console Rails:
cd /var/discourse
./launcher enter app
rails c
- Altere uma Configuração:
SiteSetting.seu_nome_de_configuracao = novo_valor
Substitua seu_nome_de_configuracao pelo nome da configuração que deseja modificar e novo_valor pelo valor que deseja definir.
- Saia do Console:
exit
Opção 2: Configurando Variáveis de Ambiente em app.yml
Você também pode usar variáveis de ambiente para ajustar configurações ocultas do site. O arquivo app.yml é um arquivo de configuração usado em implantações baseadas em Docker do Discourse. Ele geralmente está localizado no diretório /containers da sua instalação do Discourse. Veja como você pode adicionar ou modificar variáveis de ambiente:
- Acesse o Arquivo
app.yml:
Abra o arquivoapp.ymlno seu editor de texto preferido:
nano /var/discourse/containers/app.yml
- Adicione Variáveis de Ambiente:
As variáveis de ambiente podem ser configuradas na seçãoenvdo arquivoapp.yml. Elas seguem o padrãoDISCOURSE_NOME_DA_CONFIGURACAO: valor. Por exemplo, para definir a configuraçãomax_category_nestingcomo3através de uma variável de ambiente, você usaria:
env:
DISCOURSE_MAX_CATEGORY_NESTING: 3
- Reconstrua o Contêiner:
Após salvar as alterações no arquivoapp.yml, reconstrua o contêiner Docker do Discourse para aplicar as mudanças:
cd /var/discourse
./launcher rebuild app
Por Que Ativar Configurações Ocultas
Ativar ou ajustar configurações ocultas do site no Discourse permite que os administradores personalizem profundamente a configuração do fórum para atender a requisitos técnicos específicos, melhorar o desempenho ou garantir segurança e conformidade, apoiando assim uma experiência do usuário e eficiência operacional finamente ajustadas.
Exemplos de configurações ocultas do site incluem:
- Badge SQL: Habilitar
enable_badge_sqlpermite que administradores do site criem consultas SQL personalizadas para critérios de emblemas, oferecendo flexibilidade na atribuição de emblemas com base em condições complexas. - Configurações de Backup S3: Incluir uploads S3 em backups com
include_s3_uploads_in_backupspode ser usado para estratégias de backup aprimoradas. - Limites de Taxa de Pesquisa: Ajustar limites de taxa de pesquisa com configurações como
rate_limit_search_userpara evitar throttling em cenários de alto uso.
Perguntas Frequentes (FAQs)
P: As configurações ocultas podem ser tornadas visíveis na interface?
R: As configurações ocultas no Discourse não são diretamente configuráveis via interface por motivos de segurança e complexidade.
P: Onde posso encontrar informações sobre cada configuração oculta?
R: Informações detalhadas sobre cada configuração podem ser encontradas no Guia de Referência de Configurações Ocultas do Site e no código-fonte do Discourse, especificamente no arquivo site_settings.yml no repositório do GitHub. Informações adicionais sobre algumas configurações também estão disponíveis nos fóruns Discourse Meta.
P: As alterações feitas através de variáveis de ambiente persistem nas atualizações?
R: Sim, se definidas em app.yml ou no perfil permanente do sistema, essas configurações persistirão nas atualizações, a menos que sejam sobrescritas por outras configurações.
P: Como sei quais configurações podem ser controladas via variáveis de ambiente?
R: Geralmente, qualquer configuração de site do Discourse pode ser prefixada com DISCOURSE_ e definida como uma variável de ambiente.
P: É seguro configurar informações sensíveis via variáveis de ambiente?
R: Variáveis de ambiente são geralmente consideradas seguras para gerenciamento de configuração. No entanto, certifique-se de que elas não sejam expostas em ambientes compartilhados ou inseguros.
P: Preciso reconstruir se alternar uma configuração do site?
R: Na maioria dos casos, alternar uma configuração do site via console Rails não requer uma reconstrução da sua instalação do Discourse. Essas alterações geralmente entram em vigor imediatamente ou após uma atualização da sua instância. No entanto, algumas configurações específicas, especialmente aquelas que influenciam os aspectos fundamentais do sistema, podem exigir uma reinicialização ou reconstrução para que as alterações sejam aplicadas. Para alterações feitas no arquivo app.yml, uma reconstrução do seu contêiner do Discourse é necessária para que essas alterações entrem em vigor.
P: Posso reverter uma alteração de configuração facilmente?
R: Sim, a maioria das configurações pode ser revertida, a menos que envolvam exclusão de dados.