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: How do you deploy your side-projects?

50 pointsby gerimateover 2 years ago
I've been looking for alternatives since the Heroku announcement.

49 comments

kiru_ioover 2 years ago
I can highly recommend fly.io. I have been using it for my Elixir projects [0][1][2]. The interface is easy to use, and you can come very far with the free layer. Another selling point for me was, that I can easily migrate away (in case I want to move to Hetzner later).<p>[0] <a href="https:&#x2F;&#x2F;slashdreamer.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;slashdreamer.com&#x2F;</a><p>[1] <a href="https:&#x2F;&#x2F;articletoimage.ai&#x2F;" rel="nofollow">https:&#x2F;&#x2F;articletoimage.ai&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;ogtester.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ogtester.com&#x2F;</a>
评论 #33970900 未加载
dig1over 2 years ago
Check <a href="https:&#x2F;&#x2F;dokku.com" rel="nofollow">https:&#x2F;&#x2F;dokku.com</a>. Easy to set on your VPS, support Heroku buildpacks and almost-zero-to-none management (assuming you update your server from time to time). And you get Heroku-style deployment.<p>Running some projects with it for the last 5-6 years and had couple of Dokku versions upgrades - zero issues so far.
评论 #33968958 未加载
mjfisherover 2 years ago
Digital Ocean&#x27;s managed Kubernetes offering has been great for me.<p>There&#x27;s lots of potential complexity to K8s, but if you&#x27;re not managing the cluster and you have simple workloads the ratio of &quot;stuff you have to learn&quot; to &quot;benefits you get&quot; is pretty high. You can deploy anything that runs in a container, so it&#x27;s really good for experimenting and not being tied down to one language or platform.<p>I can add a new service by copying and pasting a yaml file or two and it&#x27;s up and running within a half hour or so.
评论 #33968794 未加载
评论 #33969087 未加载
Aprecheover 2 years ago
I deploy to actual VPCs, the old way. No containers. No PaaS. Just get a Linux machine with a static IP and install. I use ansible to automate the deployment.<p>If I need some storage of undefined quantity, in the case of say image uploads, I might bring in S3 (or equivalent) service. But other than that, just a VPC.
评论 #33969081 未加载
评论 #33969263 未加载
alin23over 2 years ago
I went through Heroku, then DigitalOcean, then GCP, AWS, Hetzner Cloud, and finally landed on a dedicated Hetzner server at €45&#x2F;month<p><i>My use case is app websites (<a href="https:&#x2F;&#x2F;lunar.fyi" rel="nofollow">https:&#x2F;&#x2F;lunar.fyi</a>, <a href="https:&#x2F;&#x2F;lowtechguys.com" rel="nofollow">https:&#x2F;&#x2F;lowtechguys.com</a>), public databases (<a href="https:&#x2F;&#x2F;db.lunar.fyi" rel="nofollow">https:&#x2F;&#x2F;db.lunar.fyi</a>), personal APIs (for uploading files, optimizing images&#x2F;videos, MQTT etc.) and websites for my relatives (<a href="https:&#x2F;&#x2F;robert.panaitiu.com" rel="nofollow">https:&#x2F;&#x2F;robert.panaitiu.com</a>)</i><p>I&#x27;ve had this configuration for 2 years now: <a href="https:&#x2F;&#x2F;www.hetzner.com&#x2F;dedicated-rootserver&#x2F;ax41-nvme" rel="nofollow">https:&#x2F;&#x2F;www.hetzner.com&#x2F;dedicated-rootserver&#x2F;ax41-nvme</a><p><pre><code> AMD Ryzen 5 3600 Hexa-Core &quot;Matisse&quot; (Zen2) 64 GB DDR4 RAM 2 x 512 GB NVMe SSD (Software-RAID 1) 1 Gbit&#x2F;s bandwidth </code></pre> On the software side I&#x27;m heavily relying on self-hosted Portainer [0] (for managing Docker stacks) and Caddy [1] (for routing web services, static file servers, static websites, barebones <i>single Python file</i> APIs etc.)<p>I usually start a side project by simply running it in a tmux on the machine. If it becomes larger, I promote it to a docker-compose file inside Portainer.<p>When I find myself needing to update&#x2F;re-deploy often enough, I create a repo for the compose.yaml file and create a Portainer stack with that repo. That way, a `git push` can re-deploy automatically with rollback on failure.<p>Sometimes I might need to run tasks like building a binary or a more advanced Docker image on `git push`, so I also self host Drone CI [2] for that.<p>Portainer also supports Kubernetes, but I just don&#x27;t feel comfortable with its complexity. I feel more at home with running `docker ps&#x2F;exec&#x2F;logs` to troubleshoot possible problems, or test out some ideas quickly.<p>[0] <a href="https:&#x2F;&#x2F;www.portainer.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.portainer.io&#x2F;</a><p>[1] <a href="https:&#x2F;&#x2F;caddyserver.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;caddyserver.com&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;www.drone.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.drone.io&#x2F;</a>
评论 #33969640 未加载
don-codeover 2 years ago
I self-host on a 3-node Kubernetes cluster in my basement. It runs on three off-lease HP DL360 1U servers that I bought for about $120 each. I work heavily with Kubernetes in my day job, so this also gives me a playground for things that I may need to know about for work, or also things I&#x27;ll _never_ need in my day job, but are good learning opportunities anyway.<p>I have an overspecced solar install on my roof that make the electricity used by the cluster essentially free to me, so the only recurring cost is business-class Internet service.
评论 #33974743 未加载
bilalqover 2 years ago
I deploy to AWS with a serverless architecture and infa-as-code written in the same language as my app using CDK.<p>Serverless is great for side-projects because the scale based pricing effectively makes things free unless they really take off. And if it ever does go to decent scale, there&#x27;s a good chance you don&#x27;t need to re-architect or even tune anything to scale up with traffic. If you wanted to prioritize 100% predictable fixed costs over everything else, then maybe a VPS would be a better option.
moolcoolover 2 years ago
I just have a digitalocean droplet and deploy with SCP. No fuss, no muss!
kretaceousover 2 years ago
I&#x27;ve been using Render and Fly.io<p>Render is the closest thing to Heroku&#x27;s ease of deployment currently. Major disadvantage is the larger build times.
评论 #33968696 未加载
gitgudover 2 years ago
Depends... here&#x27;s some recommendations<p>[1] <a href="https:&#x2F;&#x2F;dokku.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;dokku.com&#x2F;</a> - Heroku but self-hosted, deceptively complex, can be a pain<p>[2] <a href="https:&#x2F;&#x2F;vercel.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;vercel.com&#x2F;</a> - Kind of a modern replacement, very easy, but can only really run TS&#x2F;JS<p>[3] <a href="https:&#x2F;&#x2F;cloud.google.com&#x2F;run" rel="nofollow">https:&#x2F;&#x2F;cloud.google.com&#x2F;run</a> - A nice way to run any server in a Docker container, simple but probably not suitable for a front-end
kjuulhover 2 years ago
A mix of docker-compose for static solutions with containerrr&#x2F;watchtower for updates.<p>For deployments of actual project I&#x27;ve built myself I&#x27;ve built a stack myself, which deploys on kubernetes via. flux2. I use a stack on top of dagger via. drone for ci, and a again a custom releaser for moving stuff from ci into flux.<p>I am using wireguard to communicate with the clusters, and mostly caddy on the frontend for tls provisioning.<p>It is not really a fit for other people, but you can find open source solutions for all my custom bits.
bestestover 2 years ago
Caprover on a Hetzner instance (tried alternatives like Dokku and Coolify and even just a Caddy server with a bunch of hooks but that was difficult to maintain)
jpgvmover 2 years ago
Just started using Oracle Cloud Container Engine. Deploying all my side projects for free on ARM boxes, feels good man.<p>Previously I was self-hosted on a colo box I have using a PaaS I used to work on called Flynn - but it&#x27;s about time to retire that machine, it&#x27;s a 7 year-old Xeon and the power it draws has to be insane compared to the 3 ARM instances it&#x27;s now running on.<p>The world has moved on from Flynn sadly and now it&#x27;s my turn too.
ezedvover 2 years ago
Hi, there! I&#x27;ve been working on my own Blockchain project, since my knowledge on the topic is not so vast, I had to search some Blockchain pages that would help to launch my project.<p>I recently used a blockchain page called &quot;Rather Labs&quot; to help me launch my own blockchain-based project, and I was very impressed with their service.<p>The page offers a range of tools and resources, including tutorials and guides on topics such as smart contract development, token creation, and crowdfunding, as well as access to a community of experts who can provide advice and support.<p>Additionally, Rather Labs (<a href="https:&#x2F;&#x2F;www.ratherlabs.com" rel="nofollow">https:&#x2F;&#x2F;www.ratherlabs.com</a>) offers a range of services, including technical support, project management, and legal assistance, to help ensure the success of your project. I found the team at Blockchain Deployer to be very knowledgeable and helpful, and they were instrumental in helping me deploy my project successfully. Overall, I highly recommend Rather Labs to anyone looking to create their own blockchain-based project.
turbletyover 2 years ago
If it can be a static site, then I build the site using GitHub Actions, and then use GitHub Page to serve. I absolutely love GitHub Actions and the speed of which it can build my site, and the syntax of the config is bliss.<p>I don&#x27;t really like any of the static site generator&#x27;s out there, so I just build an ejs site and parse it using a project I built called statictron [1]. I&#x27;m using it for a site [2] I&#x27;m building at the moment, and it&#x27;s a pretty smooth and cleap deployment. I did end up pushing the files to bunny.net (a EU based CDN), as its surprisingly much faster than GitHub pages. But I&#x27;m just being picky, as Pages is practically more than fast enough.<p>For anything that requires server side hosting, render.com is great, or digitalocean if I want something I can control more. I don&#x27;t really want to buy into the whole ecosystem of things like Heroku, GCP, AWS as I like to make sure I can leave when&#x2F;if they do bad things.<p>I&#x27;m also increasingly moving stuff back to dedicated hosting. I do try and automate as much of the deployment stuff as possible, and use docker to wrap the services.<p>It&#x27;s actually amazing how much cheaper a dedicated server is, vs cloud companies, once you&#x27;re using more than a few services. I&#x27;d normally say one of the benefits is your DevOps teams should be cheaper, but in the end I&#x27;ve found the teams that would be managing the dedicated servers, end up being just as big to support the cloud infrastructure platforms.<p>[1]. <a href="https:&#x2F;&#x2F;github.com&#x2F;markwylde&#x2F;statictron" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;markwylde&#x2F;statictron</a><p>[2]. <a href="https:&#x2F;&#x2F;github.com&#x2F;markwylde&#x2F;webcodeup" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;markwylde&#x2F;webcodeup</a>
capablewebover 2 years ago
My poor-mans-PAAS: git, ssh, systemd, dedicated instance, caddy, grafana and prometheus<p>Cost per &quot;project&quot;: domain + shared cost of the dedicated instance. Right now the dedicated instance is running 8 projects in total, I pay ~70 EUR a month, so about 8.75 EUR + .com domain for each which works out to be ~20 EUR per year, 1.6 per month. Also using Migadu for email, shared between all little projects, ~30 EUR &#x2F; month (so currently 3.75 EUR per project per month).<p>Each project added makes cost per project lower, as they all share the same infrastructure.<p>Environment is setup so every service has it&#x27;s own systemd user service. Deploys happen by doing the following steps:<p>- Build and test project locally<p>- Copy artifact&#x2F;binary to server with ssh, rename file to be versioned incrementally<p>- Restart systemd service<p>- New service deployed<p>- If database migrations have to be run, I execute them here<p>- (if something goes wrong, I copy old artifact to &quot;production&quot; directory and restart service again, poors-man rollback)<p>- Send a marker to Grafana that a deploy have happened so it&#x27;s visible in the dashboard<p>As it stands right now, it seems to be about 13 EUR per month per project, but as mentioned before, gets cheaper for each added service. None of them are particularly performance sensitive or use a lot of resources. As a max, I&#x27;ve run something like 15 services on this very machine without any problems. Everything goes via Caddy that acts like a proxy front for everything.<p>One of the projects got more popular one time and started impacting the performance of the others, I simply replicated exactly the same environment to a new dedicated server where it lived by itself from there on.
sureglymopover 2 years ago
I deploy to a virtual machine. I use Ansible to set up the machine and install a container runtime, then i set up traefik + containers using Ansible and docker compose files. If I ever do need to scale it&#x27;s easy to switch to docker swarm which is quite capable. It&#x27;s also easy to deploy the full stack somewhere else quickly. I wish it was easier to do firewall configuration when using docker, since it basically occupies iptables even though I&#x27;d rather use nftables. I also keep secrets out of source code and add them during deployment using envsubst and ansible vault. One thing also, i think the Ansible documentation is quite terrible. The only saving grace is `ansible-docs -s` which can print snippets. I don&#x27;t particularly like ansible but i guess it&#x27;s currently the best there is and has a big ecosystem.
评论 #33968926 未加载
评论 #33977542 未加载
philip1209over 2 years ago
Render. But, they just jacked up prices - which makes it less appealing to me.<p>If I had to start over, I&#x27;d just do AWS App Runner. AWS is complex, but it&#x27;s reliable - you won&#x27;t have to pay huge minimums or subscriptions to host a side project. And, it will (hopefully) be dependable as a host long-term.
codingdaveover 2 years ago
Old-school shared hosting. 8 bucks a month and I can launch as many apps as I want. If any of them gain traction, mine are all just node apps with a react bundle - easy enough to migrate to a scalable solution if they need it. But few of them ever need it.
stevehiehnover 2 years ago
Google CloudRun - I haven&#x27;t done extensive comparisons but it&#x27;s been nearly a year and a very smooth experience.<p>My audio plugin is backed by CloudRun <a href="https:&#x2F;&#x2F;signalsandsorcery.org" rel="nofollow">https:&#x2F;&#x2F;signalsandsorcery.org</a>
a_bored_huskyover 2 years ago
I&#x27;ve got a cheap VPS where I put them running in a Tmux session behind Nginx.
Shish2kover 2 years ago
Bare metal server, each side-project lives in a docker container, Traefik is set to reverse-proxy <a href="https:&#x2F;&#x2F;&lt;blah&gt;.shish.io" rel="nofollow">https:&#x2F;&#x2F;&lt;blah&gt;.shish.io</a> to the docker container named sn-&lt;blah&gt;<p>Docker containers get built with github actions and pushed to docker hub<p>I’ve occasionally looked into cloud stuff, but it all seems orders-of-magnitude more expensive for day-to-day use, <i>and</i> there’s no cost ceiling if I do something dumb and use a ton of bandwidth
评论 #33969252 未加载
anciequeover 2 years ago
Pretty much the same as our goto for projects at work: Hetzner + Docker (Swarm) with some Ansible to orchestrate things<p>We have built some automation around cluster management over at <a href="https:&#x2F;&#x2F;github.com&#x2F;neuroforgede&#x2F;swarmsible" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;neuroforgede&#x2F;swarmsible</a>.<p>I used to do everything in ansible, but Docker Stacks are just so much nicer to use.<p>In any case automation is king. I don&#x27;t have to remember stuff if I can just look at some IaC Code :).
ggordanover 2 years ago
I mostly use DigitalOcean and their managed kubernetes service. My projects tend to be self-contained in a monorepo (where my k8s manifest also live) and I use Flux* to keep my cluster in sync. I&#x27;m quite happy with, took a bit of time to get it set up exactly how I wanted, but now it&#x27;s no-effort to do releases.<p>* <a href="https:&#x2F;&#x2F;fluxcd.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;fluxcd.io&#x2F;</a>
karmakazeover 2 years ago
Front-end deploys from GitHub&#x2F;GitLab&#x2F;etc to Netlify with Cloudflare CDN.<p>For back-end, I started with some Vultr credits and these basic VMs have better performance&#x2F;cost than others I&#x27;ve used (including Digital Ocean), as well as having a decent feature set. Sometimes, I&#x27;ll put Cloudflare in front of the backend API as well with carefully decided cache headers&#x2F;behaviour.
qikInNdOutReplyover 2 years ago
The game-engine i develop for has a hook on github, which looks for commits in the format of VERSION{xx.xx}. If it finds such a commit, it zips the game, then compares the zip against the previous install, then it computes changes and creates shards.<p>These are downloaded via RAPID and create -with the previous shards a image of the game in the engines local install. After that its buisness as usual.
jacobmarbleover 2 years ago
Cloudflare Workers is a big time saver for my side projects. I don’t use JavaScript&#x2F;TypeScript&#x2F;WASM at work, but it’s been great.
评论 #33968683 未加载
ronjouchover 2 years ago
My static website is exposed by Nginx in a managed Linux box at $whatever_cheap_vps. Deployment is done simply with rsync.
egamirorrimover 2 years ago
I use <a href="https:&#x2F;&#x2F;cloudcaptain.sh" rel="nofollow">https:&#x2F;&#x2F;cloudcaptain.sh</a> - has a CLI to let me chuck containers up to AWS without worrying about any of the gubbins<p>It&#x27;s probably a bit prod-focussed in that it establishes ELBs&#x2F;ALBs and things that cost money as standard but five stars for seamlessness
shafyyover 2 years ago
Scalingo, because EU company and hosting in EU. They are a great alternative to Heroku with awesome customer service. If I don&#x27;t need a PaaS I use Hetzner (e.g. for my newsletter with Ghost). Clever Cloud is also a good EU hosting service.<p>I&#x27;ve used Render before and was happy, but I now prefer keeping all my stuff in the EU =)
Gysover 2 years ago
Dokku on a vps gives an identical experience (Heroku) for me. I have several projects running on a Hetzner 2 cpu &#x2F; 2 Gb vps.<p>Once a day I do a Dokku backup (zipping its main folders) to an attached volume. I did a test recover a few times (once to Digital Ocean) and that only takes minutes.
ghstcodeover 2 years ago
For me, this topic falls along the same lines as distro ping pong.<p>I’ve tried many, but have ended up with Cloud Run. It’s been great and costs next to nothing.<p>Since you run within a Google Cloud Project, you get all the Google tools to use if and when needed too.<p>GitHub actions usually handle my deployments etc.
aantixover 2 years ago
Hatchbox <a href="https:&#x2F;&#x2F;hatchbox.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;hatchbox.io&#x2F;</a><p>I deploy to single Linode instance with multiple projects.<p>Super easy interface to deploy a GitHub repo.<p>Auto provisions the server with nginx, MySQL, redis, etc.
rcarmoover 2 years ago
<a href="https:&#x2F;&#x2F;github.com&#x2F;piku&#x2F;piku" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;piku&#x2F;piku</a> - dozens of projects in various languages in the same tiny VPS.
nullfishover 2 years ago
Been using fly.io - Started to move professional projects over too
bilal4hmedover 2 years ago
Just been using azure. Their free tiers are pretty good
yodonover 2 years ago
Vercel for NextJS frontends and Azure Container Apps (hosted k8s that scales down to $0&#x2F;month in hobby or light usage scenarios) for backends.
mromanukover 2 years ago
VPS with <a href="https:&#x2F;&#x2F;caprover.com" rel="nofollow">https:&#x2F;&#x2F;caprover.com</a> and then docker (actually colima in macOS)
greenSunglassover 2 years ago
Trying to fit them in a github pages, behind Cloudflare, with a json file as a database. All deployed with a bash script
TDiblikover 2 years ago
Hetzner 5€ vps with nginx as reverse proxy
评论 #33968900 未加载
评论 #33968781 未加载
anshumankmrover 2 years ago
My blog was temporarily hosted on cloud storage. It&#x27;s a static site which I developed using Scully.
t312227over 2 years ago
nearly everything on &quot;classic&quot; server &#x2F; VM based systems based on (debian) linux<p>* setup of the system itself via ansible<p>deployment depends on the kind of project<p>* rsync for simple (static) webpages on vhosts<p>* docker-compose (docker) or helm&#x2F;tanka (k8s) for container-based stuff<p>* and again ansible for everything else :)
allenleeinover 2 years ago
For a static site, I deploy it on Vercel via Github. Been great for me
phendrenad2over 2 years ago
I just pay the $7&#x2F;mo for Heroku
Airglowover 2 years ago
Fly.io now
the__alchemistover 2 years ago
Heroku
Airglowover 2 years ago
fly.io these days
munhitsuover 2 years ago
I choose between <a href="https:&#x2F;&#x2F;railway.app" rel="nofollow">https:&#x2F;&#x2F;railway.app</a> or native AWS serverless. But native serverless for me is to only use services that scale down to 0, so this may defocus you from your project
ransom1538over 2 years ago
Just use github actions. Currently I do AWS + EKS + GHA. You edit, you commit, it runs test, GHA pushes to EKS. Roll backs are easy, just revert. Scaling is easy, you use the EKS node scaler. <a href="https:&#x2F;&#x2F;github.com&#x2F;james-ransom&#x2F;eks-gha-auto-deploy-fortune&#x2F;blob&#x2F;main&#x2F;.github&#x2F;workflows&#x2F;cd.yml" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;james-ransom&#x2F;eks-gha-auto-deploy-fortune&#x2F;...</a>