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.
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
| Chave | Descrição |
|---|---|
stack.enabled | Mapa de serviceName → booleano que controla quais serviços ficam habilitados e visíveis. |
projects | Configurações de projetos: tld, root e mapas por projeto. Veja abaixo. |
services | Objetos de ajuste de nginx, apache e php. Veja Ajuste de serviços. |
crons | Array de tarefas agendadas. Veja abaixo. |
terminalWorkspace | Layout salvo do terminal (grupos, painéis, abas). |
cloud | Detalhes da conta autenticada. |
commandCenter | Configuraçõ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.