Hi
I’ve put together my first phoenix project that got to a stage that I’d like to deploy it. I’ve chosen gigalixir as it sounds perfect. I’ve done the setup and deployed it - I can access it in the browser and it works, but all the static assets (css, images) are 404 not found.
I’ve run MIX_ENV=prod SECRET_KEY_BASE="$(mix phx.gen.secret)" mix phx.server
locally to see if that works and that does. I’ve noticed that locally the assets have a hash generated as a suffix and that’s what the html has, but in the gigalixir deployed html it doesn’t have those hashes, so I assume it’s something to do with that but not sure how to proceed. Any tips are appreciated
Have you compile the assets before deploy? https://hexdocs.pm/phoenix/deployment.html#compiling-your-application-assets
Do you know what buildpacks you are using? This buildpack is responsible for building static assets.
If your buildpacks are correct (or they are being autodetected correctly), often the issue is the buildpack configuration. The most tricky one is release=true
which should not be used on gigalixir. See the warning here
This was it!
I had to add
https://github.com/HashNuke/heroku-buildpack-elixir
https://github.com/gjaldon/heroku-buildpack-phoenix-static
to .buildpacks
and things are working now. Thanks for the help