Feito com Chinaski

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).

Leia este site em