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.

Ask HN: What's the best way in 2018 to distribute a self-host web application?

14 pointsby macca321over 6 years ago
If I was to launch a SAAS product with a self-host option, what would be the best way to distribute it to customers?<p>Examples of things I&#x27;m concerned about are ease of installation, ease of deploying updates, ease of scaling for customers...

7 comments

alain_gilbertover 6 years ago
If your web app is not too complex.<p>I really like to build self contained binary in Go.<p>All the code compile to a single binary file without any external dependencies. I put all my static files (html, css, js, imgs) inside this binary file using &quot;bindata&quot;. If I really need a database, I&#x27;ll use sqlite as a default (this could be configured to something else).<p>For updates, if you do not compress the binary file (upx), you can make a binary patch with &quot;bsdiff&quot;&#x2F;&quot;bspatch&quot; (<a href="http:&#x2F;&#x2F;www.daemonology.net&#x2F;bsdiff&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.daemonology.net&#x2F;bsdiff&#x2F;</a>). There is a Go library to do it dynamically <a href="https:&#x2F;&#x2F;github.com&#x2F;kr&#x2F;binarydist" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;kr&#x2F;binarydist</a>. So your app could be 50Mb, but updating it would be as simple as downloading a 400Kb patch and applying it (software can do it).<p>For schema migration, I like <a href="https:&#x2F;&#x2F;github.com&#x2F;rubenv&#x2F;sql-migrate" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;rubenv&#x2F;sql-migrate</a> which can be used as a library. Therefore, the migration can be part of the binary patch in an update.<p>So in the end, you only distribute a native executable file for whatever platform your customer is using.
open-source-uxover 6 years ago
I asked a similar question on two occasions:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16250959" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16250959</a><p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14781420" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14781420</a><p>The short answer is that no, there is no simple way to get users to self-host your software. Perhaps developers prefer it that way? It certainly helps keep the SaaS model going.<p>Remember that what a developer deems &#x27;simple&#x27; matches no known definition of the word amongst ordinary users.
uptownover 6 years ago
Take a look at how Koken handles their install routine. I found it very clean. You place a file in the root of your server, then load this in a browser. It checks permissions and technical requirements, then proceeds with the full download and installation if everything checks-out.<p><a href="http:&#x2F;&#x2F;koken.me&#x2F;" rel="nofollow">http:&#x2F;&#x2F;koken.me&#x2F;</a><p>Updates are handled similarly -- the software alerts the admin to an available update within the admin console, and you can choose when to download and apply the patch.
mgliwkaover 6 years ago
<a href="https:&#x2F;&#x2F;www.packer.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.packer.io&#x2F;</a> - allows you to create images for a lot of platforms.
swansonover 6 years ago
<a href="https:&#x2F;&#x2F;devcenter.heroku.com&#x2F;articles&#x2F;heroku-button" rel="nofollow">https:&#x2F;&#x2F;devcenter.heroku.com&#x2F;articles&#x2F;heroku-button</a> is pretty good if you can &quot;Heroku-ize&quot; the product. Easy installation, updates, scaling for sure.
awaywopassdover 6 years ago
Perhaps build Docker images??
评论 #18141804 未加载
z3over 6 years ago
use Amazon&#x27;s AWS, Google Cloud, Microsoft Azure or DigitalOcean you can run one or more instance and pay per use. it is easy to scale if you need.<p>other option is some cheep VPS hosting (~50$&#x2F;y) but later you maybe need to migrate everything.
评论 #18140355 未加载