Mix Releases: they're pretty handy, but can be kind of frustrating too. Here's my best take at getting you using them in your Elixir/Phoenix projects. We're going to go over the key documentation sources, including those for mix tasks and Phoenix-related commands for releases, and practical aspects of mix releases, such as creating Docker images and dealing with configuration settings across different environments. Tips on handling issues like the absence of the mix command line tool in production, using bash scripts for migrations, and configuring Docker for building and running releases are covered too. The video also addresses Docker's compatibility with mix releases, nuances of Elixir app configuration, and the significance of runtime configuration. Towards the end, we'll set up Docker Compose for local development, including setting environment variables, the hostname, and other stuff correctly. 0:00 Mix Releases Crash Course 01:10 Documentation 02:00 What's a mix release? 05:49 Releasing a new Phoenix App 06:42 Release Environments 07:56 Naming releases and configuring mix.exs 10:59 Overlays 13:00 Commands of the release bash script 13:39 OS Build Targets 14:27 The mix phx.gen.release task 19:07 Docker 21:59 Running docker images 23:47 Mix Configuration 27:47 System vs Application Config 31:07 Docker Compose 36:31 Setting the Endpoint hostname 38:48 Wrapping up