Files
templates/blueprints/evolutioncrm/template.toml
Mauricio Siu 5a6d31c147 fix: make Evolution CRM and Evolution GO templates respond on their domains
evolutioncrm:
- Point the evo-crm-frontend domain at port 80 instead of 5173: the
  community frontend image serves the built app via nginx on port 80
  (5173 is the vite dev port), so the domain returned 502.
- Set EVOLUTION_API_ONLY_SERVER=true on evo-crm: the community image
  ships without the Rails dashboard views (the UI lives in the separate
  evo-crm-frontend service), so the default root route (dashboard#index)
  can never render and returned 406 for every request. With the flag the
  root serves the API status JSON; all /api routes are unaffected.
- Drop the evolution-go-* volumes that were left over from the other
  template.

evolutiongo:
- Evolution GO has no route on "/" and answers 503 (LICENSE_REQUIRED)
  on API routes until a license is activated through the bundled
  manager UI, so the single domain never responded. Add a small nginx
  gateway that redirects "/" to /manager/login and proxies everything
  else (WebSockets included) 1:1 to evolution-go:8080, and point the
  domain at it.
- Persist /app/dbdata and /app/logs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 01:41:12 -06:00

68 lines
1.7 KiB
TOML

[variables]
auth_domain = "${domain}"
front_domain = "${domain}"
api_domain = "${domain}"
evoia_domain = "${domain}"
processor_domain = "${domain}"
postgres_password = "${password}"
secret_key_base = "${base64:64}"
jwt_secret_key = "${base64:64}"
api_token = "${base64:64}"
doorkeeper_jwt_secret_key = "${base64:64}"
bot_runtime_secret = "${base64:64}"
encryption_key = "${base64:32}"
global_api_key = "${base64:64}"
[config]
env = [
"SECRET_KEY_BASE=${secret_key_base}",
"JWT_SECRET_KEY=${jwt_secret_key}",
"EVOAI_CRM_API_TOKEN=${api_token}",
"GLOBAL_API_KEY=${global_api_key}",
"POSTGRES_PASSWORD=${postgres_password}",
"POSTGRES_DATABASE=evo_crm_community",
"POSTGRES_USERNAME=postgres",
"REDIS_URL=redis://redis:6379/3",
"FRONT_DOMAIN=${front_domain}",
"FRONT_URL=\"http://${front_domain}\"",
"BACK_DOMAIN=${api_domain}",
"BACK_URL=\"http://${api_domain}\"",
"AUTH_DOMAIN=${auth_domain}",
"AUTH_URL=\"http://${auth_domain}\"",
"PROCESSOR_DOMAIN=${processor_domain}",
"PROCESSOR_URL=\"http://${processor_domain}\"",
"EVOIA_DOMAIN=${evoia_domain}",
"EVOIA_URL=\"http://${evoia_domain}\"",
"DOORKEEPER_JWT_SECRET_KEY=${doorkeeper_jwt_secret_key}",
"DOORKEEPER_JWT_ALGORITHM=hs256",
"DOORKEEPER_JWT_ISS=evo-auth-service",
"MFA_ISSUER=EvoCRM",
"BOT_RUNTIME_SECRET=${bot_runtime_secret}",
"ENCRYPTION_KEY=${encryption_key}",
]
mounts = []
[[config.domains]]
serviceName = "evo-auth"
port = 3001
host = "${auth_domain}"
[[config.domains]]
serviceName = "evo-crm-frontend"
port = 80
host = "${front_domain}"
[[config.domains]]
serviceName = "evo-crm"
port = 3000
host = "${api_domain}"
[[config.domains]]
serviceName = "evo-processor"
port = 8000
host = "${processor_domain}"