6
20 Comments

Simplest deployment process?

For those that develop small MVP or early stage applications, what's the most effective minimal deployment process you've used?

In the past I've used git push from local, and then my remote server would automatically sync and deploy. But I've also contemplated just developing directly on my server using a browser-IDE. I want to avoid bike-shedding, docker, etc.

on April 13, 2022
  1. 3

    Like Heroku, Vercel, Netlify are so easy. If you can use Docker, Cloud Run is also good.

    1. 2

      I love vercel. It makes it easy

    2. 1

      I have a cloud VPS server. Not a fan of docker for personal projects

  2. 2

    For nodejs and python apps, you can push to git and deploy using [Railway.app](https://railway.app and Render.com

    For lambda funtions alone you can use our product TinyFunction.com without ever leaving browser window :)

    1. 2

      Just saw your product. TinyFunctions looks super cool removing the entire complexity and moving to a Prepaid model. We need more products like these that abstracts the complexity in deployments.

      By the way, you got a perfect domain name too.

  3. 1

    Not MVP but fun side project to learn Golang.

    I used Heroku for Golang server and Netlify or Vercel (Can't recall) for React app. They were in 2 different repositories, simple git push worked on individual. Because I didn't buy domain and was relying on .herokuapp and .netlify, I faced issues in authentication due to cookies interacting different domains. Therefore I decided to serve my React app from Golang server so that they both stays in same domain. Instead of merging them in same repository, I made separate repository specially for deployment and versioning. I used Github Actions and Shell script.

    Here is CD repo https://github.com/Marvin9/uptime-server-releases

  4. 1

    It really depends on the type of application, is this just a static site? What's the current process to get the app running?

    1. 1

      Usually express or react applications. I'd just like to start building faster though. Right now I push, have a server catch pushes to master and then auto-redeploys using systemd to restart everything. But I don't love it.

  5. 1

    Actually I just drag and drop to ftp client.

    1. 1

      Is this a php stack then?

  6. 1

    Already Vercel, Render are extremely simple with deployment process.

    But if you want to deploy to your own remote server, BuddyWorks is your best bet. They got a generous free plan too.

  7. 1

    Not sure, if I can promote my own stuff here, but I've made a free/open-source application just for this use case. (https://coolify.io)

    Already several companies and lots of indie hackers are using it.

    If you don't afraid to use your own servers, please take a look and would like to get your feedback.

  8. 1

    For my front end I use NextJS and deploy to Netlify.

    For the backend I code in Kotlin and output my app as a single JAR. I have a script that builds the JAR, SCPs it to my server and then starts the JAR. I use system.d to daemonise the service.

    1. 1

      I tried this at one point (SCP/rsync). I always use system-d. Do you use any version control? Are the .git files copied with scp?

  9. 1

    The previous approach you were following is the one I follow.
    I always push to my dev branch but whenever the dev branch is merged to main, it gets auto-deployed on Vercel.

  10. 1

    Vercel, Cloudflare Pages, Netlify are pretty easy

  11. 1

    Layer0 has a great quick deploy option, it's a really great service for hosting frontend applications like Next / Nuxt / SPAs where you can also easily deploy microservices.

  12. 1

    Hi @Whoof,
    for simple sites like this we use git push from local to server. Exactly as you described. It can't be simpler than that, I guess.

    Of course it depends on your situation. Many IDEs/text editors can edit remote files directly via SSH/SFTP. It may be a convenient solution for smaller projects.

    1. 1

      Yeah that's what I was thinking- just using a straight up IDE on a remote server. For a small project that I'm trying to get off the ground, why not. I guess another option would be to develop on a staging port remotely, and then have a command that copies it to the prod path.

      IIRC levelsio didn't even use git for a long time.

Trending on Indie Hackers
I'm a lawyer who launched an AI contract tool on Product Hunt today — here's what building it as a non-technical founder actually felt like User Avatar 150 comments A simple way to keep AI automations from making bad decisions User Avatar 63 comments “This contract looked normal - but could cost millions” User Avatar 54 comments Never hire an SEO Agency for your Saas Startup User Avatar 53 comments 👉 The most expensive contract mistakes don’t feel risky User Avatar 41 comments I spent weeks building a food decision tool instead of something useful User Avatar 28 comments