Can't inspect distillery release

Hello, I’m using Distillery to deploy a Phoenix app, and can’t find a way to debug something that is obviously going wrong.
The release is created without any problem, it generates the binaries and I can open a console. Both start and foreground work without complaining, when I connect to localhost:8080 I get nothing. ping returns pong, I don’t see any crash log.
Only thing I did myself is writing a post hook that creates the DB before running the migrations

def create do
{:ok, _} = Application.ensure_all_started(:owl)

Owl.Repo.__adapter__.storage_up(Owl.Repo.config)

end

Is there a way I can inspect the binary? Logs somewhere, a -vvv option, a way to know the web server started?
Quite lost right now.

ngw

1 Like

Do you see the “Starting cowboy at port …” message when you start with foreground? If not you’re probably missing the server: true configuration for the endpoint:

# file: config/prod.exs
config :phoenix_distillery, PhoenixDistillery.Endpoint,
  http: [port: {:system, "PORT"}],
  url: [host: "localhost", port: {:system, "PORT"}], # This is critical for ensuring web-sockets properly authorize.
  cache_static_manifest: "priv/static/manifest.json",
  server: true,
  root: ".",
  version: Mix.Project.config[:version]

Let’s discuss each of these options.

  • server configures the endpoint to boot the Cowboy application http endpoint on start.
  • root configures the application root for serving static files
  • version ensures that the asset cache will be busted on versioned application upgrades (more on this later)

https://hexdocs.pm/distillery/phoenix-walkthrough.html#content

4 Likes

Thank you, I updated from exrm to distillery and couldn’t figure out why the application was starting but the webserver wasn’t responding, this was it.

You can check that with the following in the console.

Application.get_env(:phoenix_distillery, PhoenixDistillery.Endpoint)