Problem with app dir using release

I guess the issue comes from Path.expand/1. As stated in its doc, it

converts the path to an absolute one and expands any . and … characters and a leading ~

Given that fact, you could take advantage from some environment variable depending on wether the app is running in production, development…

plug Plug.Static,
    at: "/downs",
    from: System.get_env("MY_APP_DOWNS_PATH"),
    gzip: false

Note that with this MY_APP_DOWNS_PATH should match to a path on the machine where the releases will be run.

This won’t probabbly be what you want. So config/releases would serve you better.

Edit: MY_APP_DOWNS_PATH in my example is of course an absolute path and can even be outside the app folder.

I see you’ve already found a solution that works for you. ^^
I was assuming that your downs folder is not a classic “assets” folder files and shouldn’t be renewed from release to release.