TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Heroku-style deployments with Docker and Git tags

124 pointsby polyrandabout 4 years ago

13 comments

tdeckabout 4 years ago
Since it&#x27;s not mentioned somehow, I&#x27;ll recommend Dokku. It does exactly what this author wants, and I use it to deploy all my side projects.<p>Dokku has been around for years but still gets significant improvements. It doesn&#x27;t support scaling to multiple boxes (at least not without some work of your own), but it&#x27;s great for smaller deployments.<p><a href="https:&#x2F;&#x2F;dokku.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;dokku.com&#x2F;</a>
评论 #26940002 未加载
评论 #27094908 未加载
评论 #26942385 未加载
nickjjabout 4 years ago
In the docker-compose.yml file it has:<p><pre><code> # expose port to localhost too - &quot;8000:8000&quot; </code></pre> I never used ufw-docker but normal behavior with Docker here would publish 8000 to the outside world allowing someone to bypass your proxy and directly visit <a href="http:&#x2F;&#x2F;example.com:8000" rel="nofollow">http:&#x2F;&#x2F;example.com:8000</a>. Does ufw-docker not do that? The comment hints that they probably want to use &quot;127.0.0.1:8000:8000&quot; instead of &quot;8000:8000&quot; to be explicit, or at the very least should call out that ufw-docker is doing something special to block it because by default using 8000:8000 is quite dangerous to use with Docker and iptables.<p>I&#x27;m also curious about this quote:<p>&gt; Docker does not play well with iptables, so I use ufw-docker to set up the firewall.<p>I never had any issues using iptables with Docker. What doesn&#x27;t play nicely?
评论 #26937601 未加载
zmmmmmabout 4 years ago
I am curious about the strategy to build the prod container on the prod infrastucture.<p>What level of concern is there about the reproducibility and reliability of such builds? I&#x27;ve had docker containers stop building due to unknown dependencies disappearing or ageing out.<p>And then presumably depending what kind of in code base it is, you could have some very intensive tasks and &#x2F; or large containers involved in doing that build - which may itself cause some degradation of service or require a bigger server than you would need just to run the app.<p>I&#x27;d be interested in seeing a version of this that pulled the image from a CI&#x2F;CD container registry - or does that defeat most of the purpose?
评论 #26940032 未加载
mardixabout 4 years ago
For a simpler option without Docker, but still with GIT Heroku-style, check out Polybox[0].<p>Polybox[0] is an itty-bitty PaaS that uses git push to deploy micro-services and websites on your own servers.<p>[0]<a href="https:&#x2F;&#x2F;github.com&#x2F;mardix&#x2F;polybox" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;mardix&#x2F;polybox</a>
boplicityabout 4 years ago
The current state of deployments (and dev environments in general) are a hot mess, especially for people who are not active developers, and just ocassional programmers. I update a few different web apps every year (or two), and each time, it is a nightmare. Unless, of course, I&#x27;m doing a simple drag and drop into Filezilla. In that case, it&#x27;s effortless. The difference? The ridiculous tools I need to use just to get the code compiled and ready to deploy, much less somehow figure out how to actually connect to the server. This can make the absolute most simple changes not worth it, because I don&#x27;t want to lose a day to debugging the inevitable problems that happen when I try to get the dev environment started. And yes, sadly, they are inevitable. Especially after letting things sit for a year.
评论 #26937594 未加载
评论 #26938533 未加载
评论 #26940868 未加载
oweilerabout 4 years ago
Not a huge fan of Kubernetes myself but Deployments solve that problem out of the box with much less code.
评论 #26936748 未加载
评论 #26937431 未加载
评论 #26936550 未加载
safeermabout 4 years ago
we&#x27;re working on TinyStacks to solve this - we&#x27;ve built the fastest way to deploy and maintain your Docker app on AWS.<p>In one click, TinyStacks takes your app code on GitHub and spins up all the necessary infrastructure with a fully automated pipeline - all on your AWS. Just git push.<p>We just started onboarding a few customers on Fri and would love to onboard a few more. Email me: safeer@tinystacks.com
评论 #26937263 未加载
debarshriabout 4 years ago
I often wonder if this is going to how the future of CI&#x2F;CD will be like. Instead of platform specific yaml files, you could leverage Multi-stage dockerfile. What would be cool is certain stage could run in parallel, may be you could skip certain stages. You could use the &quot;gitops&quot; style to deploy. And viola, you have a build system, that builds locally and remotely independent of the CI&#x2F;CD platform.
rcarmoabout 4 years ago
This gives me a couple of ideas for piku (<a href="https:&#x2F;&#x2F;github.com&#x2F;piku" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;piku</a>)...
评论 #26936567 未加载
评论 #26937059 未加载
antoniomikaabout 4 years ago
I made a tool that does exactly this [0] wrapped up in a tiny little server! Main reason I did that was because I found myself creating &quot;compose apps&quot;, where it was some self-hosted thing that I spent a lot of time managing without version control or in a deterministic manner.<p>For ingress, nginx-proxy (or traefik or caddy) listens for when a container starts on the network (auto attached by pcompose) but you still have all of the flexibility of docker-compose. Build happens on push if you have that defined in compose, so on and so forth.<p>Was able to even create some simple &quot;convenience&quot; ssh methods where you can trigger docker-compose commands or tail logs&#x2F;exec into container directly over ssh. Definitely super crude and not really for production, but works great for apps that I just want to run and forget about.<p>[0] <a href="https:&#x2F;&#x2F;github.com&#x2F;antoniomika&#x2F;pcompose" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;antoniomika&#x2F;pcompose</a>
lucassenabout 4 years ago
I found caprover to be great for simple web apps. the git push and build on prod server feels like a remnant from before proper ci&#x2F;cd with docker built separately was as available.
评论 #26938756 未加载
evantahlerabout 4 years ago
Checkout <a href="https:&#x2F;&#x2F;GetPorter.Dev" rel="nofollow">https:&#x2F;&#x2F;GetPorter.Dev</a> it’s basically Docker on Kubernetes.
AmanAabout 4 years ago
This is already not the best solution, there if you want “heroku style” then: 1. Install podman 2. Setup some container registry 3. Setup GitHub actions to build and push container 4. Setup podman for auto update 5. Push code and wait...<p>Much easier than hacking with bash and git. Pushing source code to a remote server is bad!