Pular para o conteúdo principal

config.json

O arquivo de configuração mestre é C:\laraenv\config.json, um único documento JSON que o app lê e grava. Ele contém seus serviços habilitados, projetos, ajuste de serviços, tarefas cron, layout do terminal e conta na nuvem.

aviso

O LaraEnv grava este arquivo. Prefira a interface para qualquer alteração — editar à mão pode corromper o JSON, e o app pode sobrescrever suas mudanças na próxima gravação. Se precisar editá-lo, faça um backup primeiro.

Chaves de nível superior

ChaveDescrição
stack.enabledMapa de serviceName → booleano que controla quais serviços ficam habilitados e visíveis.
projectsConfigurações de projetos: tld, root e mapas por projeto. Veja abaixo.
servicesObjetos de ajuste de nginx, apache e php. Veja Ajuste de serviços.
cronsArray de tarefas agendadas. Veja abaixo.
terminalWorkspaceLayout salvo do terminal (grupos, painéis, abas).
cloudDetalhes da conta autenticada.
commandCenterConfigurações do Command Center.

projects

  • tld — o domínio de topo local, ex. "test".
  • root — a raiz dos projetos, ex. "C:\\laraenv\\www".
  • Mapas por projeto, indexados pelo nome do projeto: phpVersions, nodeVersions, ssl, terminals, proxyPorts, projectTags (array), devCommands, queueArgs, editors.
  • sshHosts — mapa de nome → { address, port, user, authMode, password?, keyName?, proxyJump?, proxyCommand?, tags }.
  • deployPresets — mapa de id → { name, script, variables[] }.

crons

Cada tarefa é um objeto: { id, name, projectName?, schedule, command, workingDir?, phpVersion?, enabled, backgroundMode?, lastRun?, lastStatus?, ... }.

cloud

{ baseUrl, token, email, name, plan, githubId } da conta autenticada. Veja Conta.

commandCenter

{ globalHotkey, enabled }.

Exemplo

Um exemplo representativo e resumido:

{
"stack": {
"enabled": { "nginx": true, "mysql": true, "redis": false, "mailpit": true }
},
"projects": {
"tld": "test",
"root": "C:\\laraenv\\www",
"phpVersions": { "myapp": "8.4" },
"nodeVersions": { "myapp": "20" },
"ssl": { "myapp": true },
"projectTags": { "myapp": ["laravel", "api"] },
"sshHosts": {
"prod": {
"address": "203.0.113.10", "port": 22, "user": "deploy",
"authMode": "key", "keyName": "id_ed25519", "tags": ["prod"]
}
},
"deployPresets": {
"default": { "name": "Deploy", "script": "git pull && composer install", "variables": [] }
}
},
"services": {
"nginx": { },
"php": { }
},
"crons": [
{
"id": "sched-1", "name": "Run scheduler", "projectName": "myapp",
"schedule": "* * * * *", "command": "php artisan schedule:run",
"phpVersion": "8.4", "enabled": true
}
],
"cloud": { "baseUrl": "https://...", "email": "you@example.com", "plan": "pro" },
"commandCenter": { "globalHotkey": "Ctrl+Space", "enabled": true }
}

Para o significado dos campos dentro de services, veja Ajuste de serviços.