Pular para o conteúdo

Variáveis de ambiente

Todas ficam no arquivo .env, ao lado do docker-compose.yml, que o docker compose lê (o modelo completo e comentado é o .env.example). Com docker run, passe-as com -e. Um valor vazio equivale a “não definido”.

VariávelFunção
POSTGRES_PASSWORDsenha do contêiner PostgreSQL
BASEDB_ENCRYPTION_KEYchave da instância: assina as sessões, criptografa os segredos. openssl rand -base64 32, uma vez por todas
VariávelPadrãoFunção
POSTGRES_USERbasedbpapel do PostgreSQL
POSTGRES_DBbasedbbanco PostgreSQL
POSTGRES_PORT5432porta publicada em 127.0.0.1
DATABASE_URLo contêiner dbum banco PostgreSQL 16+ seu
VariávelPadrãoFunção
BASEDB_MIGRATE1aplica o catálogo em um banco vazio
BASEDB_BOOTSTRAP1prepara o primeiro administrador
BASEDB_TENANTt4z56fqreferência do tenant, nas URLs da API
BASEDB_ADMIN_EMAIL—endereço do primeiro administrador, criado na inicialização; vazio, a primeira pessoa que abrir a interface o cria
BASEDB_ADMIN_PASSWORDgerada, exibida uma vezcom BASEDB_ADMIN_EMAIL, a senha dele; se definida, é reaplicada ao administrador em cada inicialização: remova-a depois de entrar
VariávelPadrãoFunção
BASEDB_OIDC_PROVIDERS—os provedores oferecidos, separados por vírgulas: google,microsoft
BASEDB_OIDC_<NOM>_CLIENT_ID, _CLIENT_SECRET—o aplicativo registrado no provedor
BASEDB_OIDC_<NOM>_ISSUERo de google, gitlabo emissor OpenID Connect
BASEDB_OIDC_<NOM>_LABEL, _SCOPESconforme o provedoro nome do botão, os escopos solicitados
BASEDB_OIDC_<NOM>_SIGNUP—off: um primeiro login não cria conta

Veja Contas e login.

VariávelPadrãoFunção
BASEDB_PORT3000porta publicada em 127.0.0.1: a interface, /api e /mcp
BASEDB_VERSIONlatesta tag da imagem eodia/basedb
BASEDB_PUBLIC_URL—endereço público do basedb, para o retorno OIDC
BASEDB_BASE_PATHo caminho de BASEDB_PUBLIC_URLo caminho sob o qual o basedb é servido atrás de um gateway, /basedb para https://passerelle.example.com/basedb/; veja Docker Compose
BASEDB_DOMAIN—o domínio servido em HTTPS pelo proxy Caddy
BASEDB_ORIGINS—outros sites cujas páginas chamam a API pelo navegador, separados por vírgulas; desnecessário para a interface do basedb, servida no mesmo endereço
BASEDB_API, BASEDB_MCP/, /mcpa API e o MCP vistos pelo navegador; ajuste apenas para o ambiente de desenvolvimento (pnpm start)
VariávelPadrãoFunção
BASEDB_FILES_MAX_MB25tamanho máximo de um arquivo
BASEDB_S3_BUCKET—ativa o armazenamento S3
BASEDB_S3_ENDPOINT—endpoint S3
BASEDB_S3_REGIONus-east-1região
BASEDB_S3_ACCESS_KEY_ID, BASEDB_S3_SECRET_ACCESS_KEY—credenciais
BASEDB_S3_FORCE_PATH_STYLE10 para o endereçamento por host

Sem servidor de envio, o basedb não envia nenhum e-mail. Com ele, partem as notificações que ficam dez minutos sem serem lidas (cada um escolhe quais em Configurações › Notificações), os e-mails da etapa Enviar um e-mail das automações, e o link de uma senha esquecida. Os links apontam para BASEDB_PUBLIC_URL; sem ela, um e-mail não leva nenhum.

VariávelPadrãoFunção
BASEDB_SMTP_HOST—o servidor SMTP: o do seu provedor de e-mail ou de um serviço de envio
BASEDB_SMTP_PORT587465 para uma conexão já criptografada
BASEDB_SMTP_SECUREstarttls (tls na porta 465)none somente para um retransmissor na mesma máquina: caso contrário, a senha passaria em texto claro
BASEDB_SMTP_USER, BASEDB_SMTP_PASSWORD—o identificador da conta de envio, se ela exigir um
BASEDB_MAIL_FROM—obrigatória com BASEDB_SMTP_HOST: o remetente, basedb <no-reply@exemple.fr>

Ao iniciar, o registro informa a situação: Courriels : SMTP smtp.exemple.fr:587 (starttls), expéditeur no-reply@exemple.fr. Um e-mail que o servidor recusa é retentado 1, 5, 30, 120 e depois 360 minutos depois.

A visão Mapa posiciona um endereço graças a um serviço de geocodificação: o do OpenStreetMap (Nominatim) por padrão, consultado uma vez por endereço, no máximo uma solicitação por segundo, cada resposta guardada. O mapa de fundo é feito de blocos (tiles) que o navegador de cada leitor carrega diretamente.

VariávelPadrãoFunção
BASEDB_GEOCODER_URLhttps://nominatim.openstreetmap.orgoutro serviço que fala o mesmo protocolo (um Nominatim seu); off: nenhum, os endereços não saem da instância e só a latitude e a longitude posicionam as linhas
BASEDB_MAP_TILESos blocos do OpenStreetMapoutro servidor de blocos, modelo https://…/{z}/{x}/{y}.png
BASEDB_MAP_ATTRIBUTION© OpenStreetMapa menção que esse servidor exige, no canto inferior direito do mapa

Ao iniciar, o registro informa qual serviço é usado: Géocodage : https://nominatim.openstreetmap.org.

VariávelPadrãoFunção
BASEDB_PDF_FONTSas fontes Noto da imagemuma pasta sua, montada no contêiner, que contém NotoSans-Regular.ttf, -Bold, -Italic, -BoldItalic, e para o chinês, o japonês e o coreano NotoSansCJK-Regular.ttc e -Bold.ttc
VariávelPadrãoFunção
BASEDB_TEMPLATES_URLo catálogo do site públicode onde a instância lê os modelos da galeria; off para não ler nenhum (os modelos integrados permanecem) — veja Modelos
VariávelPadrãoFunção
BASEDB_AI_PROVIDER—openai, anthropic, mistral ou openai_compatible (Azure, um gateway, um modelo local)
BASEDB_AI_MODEL—o modelo
BASEDB_AI_API_KEY—a chave (senão OPENAI_API_KEY, ANTHROPIC_API_KEY, MISTRAL_API_KEY); opcional para openai_compatible
BASEDB_AI_BASE_URLo endereço do provedoro que vem antes de /chat/completions (/messages para anthropic), parâmetros incluídos; obrigatória para openai_compatible — veja Inteligência artificial
BASEDB_AI_HEADERS—cabeçalhos adicionados a cada chamada, em um objeto JSON: {"api-key":"…"}
BASEDB_AI_PROVIDER_SSL_VERIFYtruefalse: o certificado TLS do provedor não é verificado — um gateway interno com certificado autoassinado; veja Inteligência artificial
BASEDB_AI_QUOTA120chamadas interativas por hora e por tenant
BASEDB_AI_FIELD_QUOTA300cálculos de campos de IA por hora e por tenant
BASEDB_AI_WORKER10: nenhum cálculo em segundo plano neste processo
VariávelPadrãoFunção
BASEDB_WEBHOOK_ALLOW—seus servidores internos, separados por vírgulas: um nome (chat.intra.example.com), um domínio e seus subdomínios (*.intra.example.com), um endereço ou uma faixa (10.12.0.0/16)

Webhooks, requisições HTTP das automações e tabelas sincronizadas só partem para endereços públicos em HTTPS. Um destino da lista também é aceito, seja qual for seu endereço, sua porta e seu esquema — HTTP incluído. Uma entrada ilegível impede a inicialização. Veja Webhooks.

Uma instância aberta a todos, como demo.basedb.eodia.com: a tela de login preenche antecipadamente uma conta compartilhada, o visitante lê tudo e modifica o que já existe, mas não cria nem exclui nada — base, tabela, linha, arquivo, comentário, conta, token, link —, e a IA responde que não faz parte da demonstração. O console SQL só lê ali. Deixar a base de volta ao estado inicial todas as noites continua sendo responsabilidade sua.

VariávelPadrãoFunção
BASEDB_DEMO—1: a instância se torna uma demonstração pública
BASEDB_DEMO_ACCOUNTS—uma conta por idioma, separadas por vírgulas: fr=demo@demo.com,en=demo-en@demo.com; a tela de login preenche antecipadamente a do idioma dela, senão o inglês, senão a primeira, e oferece as outras. Crie essas contas, cada uma com seu projeto, antes de ativar a demonstração: ela recusa as criações para todos, administrador incluído
BASEDB_DEMO_PASSWORD—com BASEDB_DEMO_ACCOUNTS, a senha delas, a mesma para todas, publicada com elas

Sem BASEDB_DEMO_ACCOUNTS, a conta compartilhada é o administrador nomeado por BASEDB_ADMIN_EMAIL e BASEDB_ADMIN_PASSWORD. Um endereço da demonstração entra com a senha publicada, seja o que for digitado: tentativas erradas não a bloqueiam para todo mundo.

VariávelFunção
BASEDB_DEV_MAIL=1exibe os e-mails nos logs em vez de enviá-los
BASEDB_WEBHOOK_DEV=1permite webhooks para HTTP e endereços locais

O basedb é um software livre da Eodia, estúdio de software nativo em IA.