# Configure sua instância Tudo na sua instância é configurado através do arquivo `.env` que você criou durante a [instalação](https://getkollek.com/pt/docs/auto-hospedagem/instalar-com-docker). Esta página percorre as configurações que um operador realmente mexe, agrupadas pelo que fazem, em vez de listar cada variável que o modelo contém. Depois de alterar o `.env`, aplique a mudança recriando os contêineres: ```bash docker compose up -d ``` ## Identidade e URL - `APP_NAME` é o nome exibido na interface e nos e-mails. O padrão é `Kollek`. - `APP_URL` é o endereço público da sua instância. Os links nos e-mails são construídos a partir dele, então precisa ser o endereço que seus usuários realmente usam. - `APP_PORT` é a porta do host que o contêiner web publica, `8000` por padrão. ## A chave da aplicação `APP_KEY` criptografa dados sensíveis em repouso. Você a define uma vez durante a instalação e nunca a altera de forma casual. Ela é importante o suficiente para ter [sua própria página](https://getkollek.com/pt/docs/auto-hospedagem/chave-da-aplicacao-e-criptografia), que também cobre o mecanismo de rotação `APP_PREVIOUS_KEYS`. ## Banco de dados `DB_DATABASE`, `DB_USERNAME`, `DB_PASSWORD` e `DB_ROOT_PASSWORD` configuram o contêiner MySQL incluído. Altere as duas senhas de seus valores de exemplo antes do primeiro boot. `RUN_MIGRATIONS` controla se o contêiner web migra o banco na inicialização (`true` por padrão). ## E-mail `MAIL_MAILER` decide como o e-mail sai da sua instância, e o padrão é `log`. :::note Com o mailer padrão `log`, nenhum e-mail chega a ser enviado. Convites, links mágicos, redefinições de senha e alertas de segurança são gravados no log da aplicação em vez disso. Configurar um mailer de verdade é a única peça de configuração que praticamente toda instância precisa. Veja [Configure a entrega de e-mail](https://getkollek.com/pt/docs/auto-hospedagem/configure-a-entrega-de-email). ::: ## Armazenamento de arquivos `FILESYSTEM_DISK` é `local` por padrão: fotos e documentos enviados são armazenados no volume `storage-data`. Para usar armazenamento de objetos compatível com S3, defina como `s3` e preencha as variáveis `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_DEFAULT_REGION`, `AWS_BUCKET` e, para provedores fora da AWS, `AWS_ENDPOINT`. Os arquivos são servidos aos usuários por rotas privadas e verificadas pela conta de qualquer forma, nunca como URLs públicas. ## Manutenção de rotina - `TRASH_RETENTION_DAYS` é por quanto tempo objetos excluídos de forma reversível ficam na [lixeira](https://getkollek.com/pt/docs/seguranca-e-manutencao-dos-dados/restaure-algo-da-lixeira) antes que a limpeza noturna os remova definitivamente. O padrão é 30 dias. - `ACCOUNT_DELETION_NOTIFICATION_EMAIL` é o endereço notificado quando um usuário exclui sua própria conta de usuário ou é removido pela [limpeza por inatividade](https://getkollek.com/pt/docs/seguranca-e-manutencao-dos-dados/exclua-um-usuario-inativo-automaticamente). Aponte-o para você mesmo para que saídas não passem despercebidas. ## O site institucional público `SHOW_MARKETING_SITE` é `false` por padrão, o que significa que sua instância serve apenas a aplicação em si. Defina como `true` para também servir as páginas públicas institucionais e a referência de API gerada em `/docs/api`. A maioria das instâncias privadas mantém isso desligado; ative se seus desenvolvedores quiserem a referência de API disponível localmente. Essas páginas são iguais para todos os visitantes e só mudam quando você reimplanta, então cada uma é enviada com cabeçalhos de cache: um navegador a guarda por cinco minutos, e qualquer CDN à frente da instância a guarda por uma semana. Defina `CACHE_PUBLIC_PAGES` como `false` para parar de enviá-los. De um jeito ou de outro, nada é cacheado na própria instância. Se você serve o site através do Cloudflare, defina também `CLOUDFLARE_API_TOKEN` e `CLOUDFLARE_ZONE_ID`. São eles que permitem à instância pedir ao Cloudflare que descarte o que ele guarda quando algo que o site público mostra muda, por conta própria ou pelo [painel](https://getkollek.com/pt/docs/auto-hospedagem/painel-de-administracao-da-instancia). Deixe vazios em uma instância servida diretamente: não há nada à frente dela para purgar. Em ambos os casos, a instância responde ela mesma a `/robots.txt` em vez de servir um arquivo do disco. Com o site público ativado, ela aponta os rastreadores para `/sitemap.xml`, que lista todas as páginas públicas em cada idioma em que são oferecidas. Com o site público desativado, ela diz a todos os rastreadores para ficarem fora do host inteiro, porque uma instância privada não tem nada que valha a pena indexar. ## Proteção contra spam Nada impede um bot de preencher seu formulário de cadastro, e numa instância que qualquer um alcança isso acontece mais cedo ou mais tarde. `TURNSTILE_ENABLED` coloca um widget do Cloudflare Turnstile nos formulários de login, de cadastro e de redefinição de senha, de modo que um envio que não o resolveu nunca chega à aplicação. O padrão é `false`, que é a resposta certa para uma instância privada onde você conhece todo mundo que entra. Para ligar, crie um widget do Turnstile na sua conta Cloudflare e depois defina `TURNSTILE_ENABLED` como `true`, `TURNSTILE_SITE_KEY` com a chave pública que ele fornece e `TURNSTILE_SECRET_KEY` com a privada. A opção sozinha não protege nada: sem as duas chaves, nenhum visitante passa pela verificação. :::note Com o widget ligado, sua instância verifica cada envio com o Cloudflare, então ela precisa alcançar `challenges.cloudflare.com` para que alguém consiga entrar. Uma verificação que não pode acontecer conta como uma verificação que falhou, de propósito. Uma instância sem acesso confiável de saída à internet deve deixar isso desligado. ::: ## O que você não precisa configurar Sessões (`SESSION_DRIVER`), cache (`CACHE_STORE`) e a fila de jobs (`QUEUE_CONNECTION`) são todos baseados em `database` por padrão. Os valores padrão estão corretos para a stack fornecida, e não há Redis ou outro serviço para adicionar. Deixe-os como estão, a menos que você saiba exatamente por que está mudando. ## Para onde ir depois - Faça o e-mail de verdade funcionar em [Configure a entrega de e-mail](https://getkollek.com/pt/docs/auto-hospedagem/configure-a-entrega-de-email). - Entenda a chave que você precisa proteger em [A chave da aplicação e a criptografia](https://getkollek.com/pt/docs/auto-hospedagem/chave-da-aplicacao-e-criptografia). - Coloque [backups](https://getkollek.com/pt/docs/auto-hospedagem/backup-e-restauracao) em prática.