diff --git a/docs/configuracao.md b/docs/configuracao.md index cd7ddfe..b04d788 100644 --- a/docs/configuracao.md +++ b/docs/configuracao.md @@ -18,8 +18,9 @@ instalador, seus valores são usados como **padrão** nos formulários. | `timeout_seconds` | Servidor → Timeout | Em segundos. Padrão `30`. | | `environment` | Servidor → Ambiente | `development` ou `production`. | -> **Atenção:** o campo "Porta" do formulário define a porta exposta no host, não a -> porta interna. O `config.toml` sempre grava `port = 8080`. +> **Atenção:** o campo "Porta (host)" do formulário define a porta exposta no host, +> não a porta interna. O `config.toml` sempre grava `port = 8080` (constante +> `containerAppPort` em `docker.go`). ### `[database]` diff --git a/internal/tui/config.go b/internal/tui/config.go index 308a9b5..ebb2e5c 100644 --- a/internal/tui/config.go +++ b/internal/tui/config.go @@ -13,7 +13,9 @@ func GenerateConfigTOML(cv ConfigValues) (string, error) { // [server] sb.WriteString("# Server Configuration\n") sb.WriteString("[server]\n") - sb.WriteString("port = 8080\n") + // Always containerAppPort: the container listens on this port internally; the + // user's port is the host-side mapping (see RunAppClienteContainer). + sb.WriteString(fmt.Sprintf("port = %d\n", containerAppPort)) sb.WriteString(fmt.Sprintf("timeout_seconds = %s\n", cv.Server["timeout"])) sb.WriteString(fmt.Sprintf("environment = %q\n", cv.Server["environment"])) sb.WriteString("\n") diff --git a/internal/tui/docker.go b/internal/tui/docker.go index 133ca9c..b81142c 100644 --- a/internal/tui/docker.go +++ b/internal/tui/docker.go @@ -11,6 +11,10 @@ import ( const networkName = "app-dono_app" +// containerAppPort is the port the app cliente container listens on internally. +// The user-provided port is only the host-side mapping (:containerAppPort). +const containerAppPort = 8080 + func RunContainer(image string, name string, port int) error { cmd := exec.Command( @@ -123,7 +127,7 @@ func RunAppClienteContainer(image, containerName, configPath, configDestinationP args := []string{ "run", "-d", "-u", uidGid, - "-p", fmt.Sprintf("%s:8080", cv.Server["port"]), + "-p", fmt.Sprintf("%s:%d", cv.Server["port"], containerAppPort), "--name", containerName, "--network", networkName, "--restart", "unless-stopped", diff --git a/internal/tui/model.go b/internal/tui/model.go index fe393c8..ad7ccc5 100644 --- a/internal/tui/model.go +++ b/internal/tui/model.go @@ -172,7 +172,7 @@ func InitialModel() Model { serverForm: NewFormStep("Servidor", []FormField{ { Id: "port", - Label: "Porta", + Label: "Porta (host)", Placeholder: "8081", Default: strconv.FormatInt(cfg.Server.Port, 10), Type: FieldTypeNumber,