Configuração
O Chinaski é configurado em duas camadas: um punhado de variáveis de ambiente definidas por instância (os knobs de nível de deployment) e a área de Settings dentro da interface de admin (configuração de nível de site, armazenada no banco de dados). Esta página explica as seis variáveis de ambiente centrais e onde pertence cada outra personalização.
As seis variáveis de ambiente centrais
Por instância, elas vivem em um arquivo de env com permissões travadas (/etc/chinaski<instance>/env, criado na instalação). Deployments offline/hypnotoad as exportam diretamente.
| Variável | O que faz | O que saber |
|---|---|---|
CHINASKI_SECRET | Assina as sessões de admin e chaveia a criptografia das credenciais armazenadas | Obrigatória. O servidor se recusa a iniciar sem ela. Gerada automaticamente na instalação, impressa uma única vez, salva no arquivo de env. Única por instância; nunca a troque por impulso (veja Secrets) |
CHINASKI_DB | Onde vive o arquivo do banco de dados SQLite | Normalmente derivada automaticamente do nome da instância pela unit systemd: deixe sem definir |
CHINASKI_OUTPUT | Onde os builds estáticos são escritos | Mesma história: derivada por instância pela unit |
LISTEN_URL | O endereço ao qual o servidor se liga | Ligue ao loopback (padrão http://127.0.0.1:3001): o proxy encara a internet, o CMS não. Ligar a uma interface pública anula a proteção do servidor contra falsificação de IP para rate limiting e bloqueios |
CHINASKI_WORKERS | Número de workers do servidor | Padrão 2. Suba para 4 em hosts de 2+ GB com múltiplos editores simultâneos |
MOJO_MODE | Modo de execução | Deployments de produção definem production (a unit systemd faz isso por você) |
Nota para as duas variáveis de escuta: CHINASKI_LISTEN é o valor que o servidor embutido (offline/hypnotoad) lê diretamente: padrão http://127.0.0.1:8080. LISTEN_URL é o que a unit systemd passa ao daemon em produção. Em um deploy de produção padrão, defina a LISTEN_URL; no modo offline, defina a CHINASKI_LISTEN (ou deixe para a configuração do hypnotoad embarcada).
As configurações que você muda pela UI de admin
Todo o resto sobre como o site se comporta são Settings, armazenadas no banco de dados (sobrevivem a rebuilds, entram nos backups):
- Identidade do site: nome, tagline, logo, conjunto de favicons, lista de idiomas, modo de URL
- Campos de SEO, padrões de sitemap, redirecionamentos, prefixos de permalink
- E-mail (SMTP), textos de segurança/cookies, chaves de bot-check
- Webhooks de build, autorregistro, expiração de senha, agendamento/retenção de backups
- Design tokens, alternâncias de PWA, Google Analytics/GTM, e assim por diante
Se o que você está mudando tem uma tela em Settings, mude por lá: variáveis de env são de nível de deployment, não de nível de site.
Variáveis de ambiente além das seis centrais
CHINASKI_AIRGAP=1: faz a instalação provar que nunca faz chamadas de saída: webhooks de build e formulários desligados, verificação de bot-check desligada, o widget de check oculto. Defina antes de iniciar em hosts isolados.CHINASKI_TRUSTED_PROXIES: IPs ou faixas IPv4 separados por vírgula, autorizados a encaminhar IPs de visitantes (necessária apenas se o seu proxy não alcança o CMS vindo do loopback: configurações estilo Docker).CHINASKI_ALLOW_BUILD_FAIL=1: usada na frente do script de deploy para empurrar uma correção emergencial apenas de código mesmo quando um build está falhando.- Algumas outras existem no código para verificação de atualizações, caminhos de docs personalizados e chaves de release; elas são reconhecidas mas não cobertas como configurações documentadas nesta release: trate qualquer coisa não listada aqui como interna.
Onde as mudanças entram em vigor
- Mudanças no arquivo de env precisam de um restart (
systemctl restart chinaski@<instance>): elas são lidas uma vez na inicialização. - Mudanças de Settings entram em vigor imediatamente para o CMS, e chegam ao site publicado no próximo build.
- O segredo mestre afeta tanto os logins (todas as sessões existentes morrem na rotação) quanto as credenciais armazenadas: salve novamente cada credencial de integração após uma rotação (veja Secrets).
A versão curta
Seis variáveis de env executam o processo (SECRET obrigatória; DB/OUTPUT derivadas automaticamente; LISTEN_URL apenas loopback; MODE; WORKERS); todo o resto que o dono de um site quer vive em Settings: e qualquer coisa para a qual você se veja buscando uma variável de env além dessas seis ou é uma flag de operador da página CLI/Server ou algo que o site de documentação cobre onde pertence (airgap, proxies, scripts de deploy).