Este é um guia de #como-fazer 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, 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, que são definidos para garantir o desempenho e a segurança ideais com base em casos de uso comuns e melhores práticas.
As configurações ocultas são ocultadas da interface de configurações padrão para evitar configurações incorretas acidentais 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 em que uma configuração de site incomum ou muito específica é necessária.
- Teste de 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 com suas necessidades.
Observações 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 só devem ser modificadas por administradores experientes do Discourse. Antes de alterar uma configuração, certifique-se de entender o que ela faz e as implicações da alteração. Sempre que possível, implemente alterações significativas de configuração em um ambiente de staging ou desenvolvimento. Antes de fazer alterações amplas ou críticas, certifique-se de que os backups estejam atualizados para restaurar o estado do fórum caso algo dê errado.
Como Editar Configurações Ocultas do Site
Opção 1: Console Rails
Para modificar configurações ocultas do site, você normalmente 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 as configurações através do console Rails, você pode seguir estas etapas:
- Acesse o Console Rails:
cd /var/discourse
./launcher enter app
rails c
- Altere uma Configuração:
SiteSetting.nome_da_sua_configuracao = novo_valor
Substitua nome_da_sua_configuracao pelo nome da configuração que você deseja modificar e novo_valor pelo valor que você 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. Geralmente, ele 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.ymlem 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 alterações:
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 seu fórum para atender a requisitos técnicos específicos, melhorar o desempenho ou garantir segurança e conformidade, apoiando assim uma experiência de usuário e eficiência operacional finamente ajustadas.
Exemplos de configurações ocultas do site incluem:
- SQL de Emblemas: Ativar
enable badge sqlpermite que os 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. - Exclusão Permanente de Posts: Ativar
can permanently deletepermite a exclusão permanente de posts para preocupações de conformidade ou privacidade. - 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 os limites de taxa de pesquisa com configurações como
rate_limit_search_userpara evitar estrangulamento em cenários de alto uso.
Perguntas Frequentes
P: As configurações ocultas podem ser exibidas na interface do usuário?
R: As configurações ocultas no Discourse não são configuráveis diretamente pela interface do usuário 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 GitHub. Informações adicionais sobre algumas configurações também estão disponíveis nos fóruns Meta do Discourse.
P: As alterações feitas através de variáveis de ambiente persistem após as atualizações?
R: Sim, se definidas em app.yml ou no perfil permanente do sistema, essas configurações persistirão após as atualizações, a menos que sejam substituídas por outras configurações.
P: Como sei quais configurações podem ser controladas via variáveis de ambiente?
R: Normalmente, 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 estejam expostas em ambientes compartilhados ou inseguros.
P: Preciso reconstruir se eu alternar uma configuração de site?
R: Na maioria dos casos, alternar uma configuração de site através do console Rails não requer uma reconstrução da sua configuração do Discourse. Essas alterações geralmente entram em vigor imediatamente ou após a 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 entrem em vigor. Para alterações feitas no arquivo app.yml, uma reconstrução do seu contêiner 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.