<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="118189" data-post-id="118189">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="shanesveller" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/shanesveller/120/7962_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  shanesveller
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>And I’m saying you misrepresented what caused those incompatibilities, which is fine if it only affects your own understanding, but is harmful in the context of trying to teach others.</p>
<p>One could face similar concerns within the same distribution and version thereof if the underlying libraries changed between hosts. Maybe you’re on a rolling release distro, or haven’t upgraded your build host recently but your deploy hosts have been freshly provisioned. Calling it an OS requirement would give no guidance to a new Distillery user how to resolve such a scenario.</p>
<p>(Don’t use rolling-release distros for production hosts, please. That’s just an illustrative example.)</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="118189" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/deployment-using-distillery-and-new-erlang-version-fails/20515/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-118189" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="118189"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="118465" data-post-id="118465">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Darkpingouin" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Darkpingouin/120/11981_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Darkpingouin
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I decided to make a Docker container with the same Debian version as my server to build the releases using distillery and it worked. I don’t really know what was causing an issue since the versions of erlang and phoenix where the same as my host but it works. So I am going to use the Docker container from now on.<br>
Thanks a lot for your help I understand distillery a bit more now <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="118465" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/deployment-using-distillery-and-new-erlang-version-fails/20515/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-118465" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="118465"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="118468" data-post-id="118468">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="NobbZ" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/NobbZ/120/27235_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  NobbZ
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Probably some incompatible version of a dynamically linked library then. Maybe <code>libc</code> or something linked to by a (transitive) dependency?.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="118468" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/deployment-using-distillery-and-new-erlang-version-fails/20515/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-118468" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="118468"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="118475" data-post-id="118475">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Fl4m3Ph03n1x" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Fl4m3Ph03n1x/120/11709_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Fl4m3Ph03n1x
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>This is fairly interesting. If you are using Docker, then you <em>don’t</em> really need distillery.<br>
Just have a Docker image with the Elixir version you need and you will remove complexity from your projects (by removing redundant tools)</p>
<p>You can use any of the Elixir Offical images for Docker:</p>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://hub.docker.com/_/elixir">
  <header class="source">
      <img src="https://hub.docker.com/favicon.ico" class="site-icon" alt="" width="65" height="65">

      <a href="https://hub.docker.com/_/elixir" target="_blank" rel="noopener nofollow ugc">hub.docker.com</a>
  </header>

  <article class="onebox-body">
    

<h3><a href="https://hub.docker.com/_/elixir" target="_blank" rel="noopener nofollow ugc">elixir - Official Image | Docker Hub</a></h3>

  <p>Elixir is a dynamic, functional language for building scalable and maintainable applications.</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>

<p>This way you skip a ton a configurations.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="118475" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/deployment-using-distillery-and-new-erlang-version-fails/20515/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-118475" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="118475"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="118500" data-post-id="118500">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jola" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jola/120/18010_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jola
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I wouldn’t call it a ton of configuration, it took me 10 minutes to set up a distillery release for the first time following the docs in <a href="https://hexdocs.pm/distillery/guides/working_with_docker.html" class="inline-onebox" rel="noopener nofollow ugc">Deploying With Docker - Distillery Documentation</a>. It’s just copy pasting and then figuring out your env variables if you need any.</p>
<p>It does mean a smaller docker image, which can be relevant, but personally I’m just a big fan of the scripts that the Distillery release provides you with, like <code>remote_console</code>.</p>
<p>I realise that a lot of people dislike releases because it used to be a mess (at least that’s what I’ve read). Maybe I was just lucky, but it doesn’t seem like much of a mess anymore.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="118500" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/deployment-using-distillery-and-new-erlang-version-fails/20515/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-118500" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="118500"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="118504" data-post-id="118504">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="LostKobrakai" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/LostKobrakai/120/3072_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  LostKobrakai
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>There are also things where mix is more forgiving than building releases. E.g. duplicate modules are not allowed for releases.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="118504" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/deployment-using-distillery-and-new-erlang-version-fails/20515/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-118504" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="118504"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="118868" data-post-id="118868">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="shanesveller" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/shanesveller/120/7962_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  shanesveller
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The <a href="https://hexdocs.pm/distillery/introduction/understanding_releases.html#why-releases" rel="noopener nofollow ugc">Distillery documentation</a> specifically speaks to why releases can still be advantageous, even in the context of a Docker image.</p>
<p>Straight from the horse’s mouth:</p>
<blockquote>
<p>That latter bit may make you think that OTP releases aren’t necessary when building with Docker, but they still have considerable value even there: release packages are stripped down, and so produce smaller images; releases are also configured to be automatically set up for distribution, which means they can be easily configured into a cluster, but more importantly they are ready to be remotely administered via remote shell if needed. When deploying source and running via Mix, you have to take extra steps to make sure the node is properly configured for this.</p>
</blockquote>
<blockquote>
<p>…the application or applications the project defines (and their associated dependencies), are compiled, bundled up together in a single package, and upon startup, loaded and then started in dependency order.</p>
</blockquote>
<p>To make this even more explicit, all of your application’s modules are loaded before <em>anything</em> is started, which is not the default behavior for launching with Mix, and that latter approach can introduce one-time delays when a loaded module calls a function on a not-yet-loaded one. The preloaded approach provides more consistent baseline performance in a freshly-launched container.</p>
<p>Anyway, you fundamentally can’t run a project that still depends on Mix to launch, without having the full Elixir and Erlang runtime environment present. This means you’ve got big, inefficient images to sling around, even if a fair amount of the base image can be broadly cached and re-used by the Docker daemon. If you’ve got a highly elastic workload, with underlying hosts coming and going, that cache hit rate can be fairly poor. If you’re using a registry that’s not part of your IAAS provider, such as Docker Hub or Quay, you’ll be paying transit costs on the bytes transferred. If you need to rapidly burst to a higher capacity, you’re at the mercy of the time it takes to pull those hefty images.</p>
<p>A slight adjustment in approach means you can have svelte images that don’t include anything more than what’s necessary for your runtime requirements. With multi-stage builds that have been available in stable Docker releases since 17.05, this is exceptionally easy to accomplish with no external tooling or strange workflows.</p>
<p>A fully-capable image built from a Distillery release on an Alpine base is around 40-60MB total for most of us, while the official Elixir base images are ~90MB for <code>1.8-alpine</code> and a whopping 1.08GB for <code>1.8</code>.</p>
<p>I don’t personally think expediency is a worthwhile motive to absorb all of the aforementioned downsides.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="118868" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/deployment-using-distillery-and-new-erlang-version-fails/20515/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-118868" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="118868"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #17"></div>
  </section>
</div>
    <div class="postbit" id="118923" data-post-id="118923">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Fl4m3Ph03n1x" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Fl4m3Ph03n1x/120/11709_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Fl4m3Ph03n1x
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>An incredibly interesting view point, I may created a discussion about this in the future to cement more knowledge, since we are actually debating this topic in my company <img src="https://forum.elixirforum.com/images/emoji/apple/smiley.png?v=15" title=":smiley:" class="emoji" alt=":smiley:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="118923" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/deployment-using-distillery-and-new-erlang-version-fails/20515/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-118923" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="118923"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>