Gigalixir app responding with `internal server error` even though it is healthy

I am trying to deploy my app with Gigalixir, but it responds with Internal Server Error:

# curl https://collaborlist.gigalixirapp.com
Internal Server Error

These logs don’t look good.

# gigalixir logs -a collaborlist
2022-08-31T04:20:36.991297+00:00 collaborlist[gigalixir-run]: Attempting health checks on port 4000
2022-08-31T04:20:37+00:00 collaborlist[gigalixir]: Your app is failing health checks, which means it isn't listening on port 4000 yet.
2022-08-31T04:20:37+00:00 collaborlist[gigalixir]: Readiness probe failed: dial tcp 10.56.51.146:4000: connect: connection refused
2022-08-31T04:20:37.531864+00:00 collaborlist[b'collaborlist-6b87b5c747-vdxcj']: web.1  | started with pid 44
2022-08-31T04:20:40+00:00 collaborlist[gigalixir]: Your app is failing health checks, which means it isn't listening on port 4000 yet.
2022-08-31T04:20:40+00:00 collaborlist[gigalixir]: Readiness probe failed: dial tcp 10.56.51.146:4000: connect: connection refused
2022-08-31T04:20:41.205184+00:00 collaborlist[b'collaborlist-6b87b5c747-vdxcj']: web.1  | 04:20:41.200 [info] Running CollaborlistWeb.Endpoint with cowboy 2.9.0 at :::4000 (http)
2022-08-31T04:20:41.265992+00:00 collaborlist[b'collaborlist-6b87b5c747-vdxcj']: web.1  | 04:20:41.265 [info] Access CollaborlistWeb.Endpoint at http://example.com:443
2022-08-31T04:20:43+00:00 collaborlist[gigalixir]: Stopping container collaborlist
2022-08-31T04:21:13.425143+00:00 collaborlist[gigalixir-run]: Shutting down 'collaborlist' on host 'b'collaborlist-6f84ffff89-5p2qb''

Could it have something to do with my prod.exs? It says to configure the url host to something meaningful, but I’m not sure what is meant by that. I have tried collaborlist.gigalixirapp.com as the url as well, and I get the same results.

import Config

# For production, don't forget to configure the url host
# to something meaningful, Phoenix uses this information
# when generating URLs.
#
# Note we also include the path to a cache manifest
# containing the digested version of static files. This
# manifest is generated by the `mix phx.digest` task,
# which you should run after static files are built and
# before starting your production server.
config :collaborlist, CollaborlistWeb.Endpoint,
  cache_static_manifest: "priv/static/cache_manifest.json",
  url: [host: "example.com", port: 443],

# Do not print debug messages in production
config :logger, level: :info

I have checked that the Elixir and Erlang versions match dev:

elixir_version=1.13.4
erlang_version=25.0

Also, my app is healthy:

# gigalixir ps -a collaborlist
{
  "cloud": "gcp",
  "pods": [
    {
      "lastState": {},
      "name": "collaborlist-6b87b5c747-vdxcj",
      "sha": "a504936d7f3b509a42f9ee2998c87a4f8d56dbc1",
      "status": "Healthy",
      "version": "2"
    }
  ],
  "region": "v2018-us-central1",
  "replicas_desired": 1,
  "replicas_running": 1,
  "size": 0.3,
  "stack": "gigalixir-20",
  "unique_name": "collaborlist"
}

Hi! I followed those instructions:
https://gigalixir.readthedocs.io/en/latest/modify-app/releases.html?highlight=prod.exs#

2 Likes