[variables]
main_domain = "${domain}"
api_key = "${base64:64}"
postgres_password = "${password}"

[config]
env = [
  "SERVER_URL=https://${main_domain}",
  "SERVER_PORT=8080",
  "AUTHENTICATION_API_KEY=${api_key}",
  "CLIENT_NAME=Evolution",
  "DATABASE_SAVE_MESSAGES=false",
  "WADEBUG=INFO",
  "LOGTYPE=console",
  "POSTGRES_DATABASE=evolution",
  "POSTGRES_USERNAME=postgresql",
  "POSTGRES_PASSWORD=${postgres_password}",
  "DATABASE_CONNECTION_URI=postgres://postgresql:${postgres_password}@evolution-postgres:5432",
]

[[config.mounts]]
filePath = "gateway.conf"
content = """
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

server {
    listen 80;
    server_name _;
    absolute_redirect off;
    client_max_body_size 100m;

    # Evolution GO has no route on "/" (and the API answers 503 until the
    # license is activated), so send visitors to the bundled manager UI.
    location = / {
        return 302 /manager/login;
    }

    location / {
        proxy_pass http://evolution-go:8080;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_read_timeout 3600s;
        proxy_send_timeout 3600s;
    }
}
"""

[[config.domains]]
serviceName = "evolution-gateway"
port = 80
host = "${main_domain}"
