Ask HN: Solo-preneurs, how do you DevOps to save time?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com
featured
  1. flyctl

    Command line tools for fly.io services

    https://fly.io

    - Easy Postgres clusters (but not managed)

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. sst

    Build full-stack apps on your own infrastructure.

    I'm starting to consider this myself and have been looking at https://serverless-stack.com/#guide as a way to prototype and build an MVP. The guide has quite a bit in it that I believe can be repurposed to that end although it doesn't cover backups etc, more integrations with AWS services.

  4. Dokku

    A docker-powered PaaS that helps you build and manage the lifecycle of applications

  5. fieldbot-server

    I've used this in the past https://github.com/piyiotisk/fieldbot-server/blob/master/.gi...

    Basically, building a docker image and server it using Docker compose. Of course you'll need NGINx as a reverse proxy running on the server.

    If I do it again I'll use a service like render. Not worth managing this myself.

  6. golang-samples

    Sample apps and code written for Google Cloud in the Go programming language.

    Choose a platform like App Engine. It's auto-scaling. Supports bigtable. And opentelemetry. Manageable from anywhere via Cloud Shell. You can run multiple instances and partition load between them. Even includes a free tier ;)

    https://github.com/GoogleCloudPlatform/golang-samples

  7. datastation

    App to easily query, script, and visualize data from every database, file, and API.

    I'm building an open-core data IDE that runs as a desktop application or server. Since it's open source, all tests run on Github Actions for free. This includes basic e2e testing using Selenium on Windows, macOS, and Linux (e.g. [0]); and unit/integration tests.

    If it were a private repo I'd still shell out for Github Actions or Circle CI most likely. I'd also consider buying a chunky-enough minipc for ~$500 and an older mac mini and set up runners on them.

    For the moment private runners isn't a problem. But soon I'll need to start integration-testing proprietary code paths like querying Oracle or MS SQL Server. In that case I probably need to set up a dedicated box with all the right licenses so I can run CI jobs on it.

    [0] https://github.com/multiprocessio/datastation/blob/master/.g...

  8. Grafana

    The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

    > CI

    GitHub Actions

    > deployments/rollbacks

    Docker. Scaleway offers a container registry that's ridiculously cheap[1]. Deployments are infrequent and executed manually.

    > DBs

    Again, Scaleway's managed RDS[2].

    Outside these, we have setup Grafana + Loki cloud[3] for monitoring and alerting. They have a generous free plan. For easy product analytics that can be derived from the database we've a self hosted instance of Metabase[4].

    [1]: https://www.scaleway.com/en/container-registry/

    [2]: https://www.scaleway.com/en/database/

    [3]: https://grafana.com/

    [4]: https://www.metabase.com/

  9. InfluxDB

    InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.

    InfluxDB logo
  10. action-hosting-deploy

    Automatically deploy shareable previews for your Firebase Hosting sites

    Lambdas and firebase on the GCP stack for CRUD apps.

    One nice thing about firebase -> each PR deploys to its own preview channel[1].

    Downside: Very JS heavy. I write lambdas in python though.

    [1] https://firebase.google.com/docs/hosting/github-integration

  11. nixpkgs

    Nix Packages collection & NixOS

    I decided to take a few years off work to just build on what I'd like. Perhaps in a startup studio model, so I have a bias for having something that is easily reusable, and that uses tech someone else can pick up and run with easily. I'll probably be in the business of dev/infra tooling.

    Currently going with a container image as the minimal deployable unit that gets put on top of a clean up to date OS. For me that's created with a Dockerfile using Alpine image variants. In a way I could see someone's rsync as an ok equivalent, but I'd do versioned symlinked directories so I can easily roll back if necessary if I went with this method. Something like update-alternatives or UIUC Encap/Epk: https://www.ks.uiuc.edu/Development/Computers/docs/sysadmin/.... Anyone remember that? I guess the modern version of Epkg with dependencies these days is https://docs.brew.sh/Homebrew-on-Linux. :-) Or maybe Nixpkgs: https://github.com/NixOS/nixpkgs?

    Deployment-wise I've already done the Bash script writing thing to help a friend automate his deployment to EC2 instance. For myself I was going to start using boto3, but just went ahead and learned Terraform instead. So now my scripts are just simple wrappers for Docker/Terraform that build, push, or deploy that work with AWS ECS Fargate or DigitalOcean Kubernetes.

    No CI/CD yet. DBs/backups I'll tackle next as I want to make sure I can install or failover to a new datacenter without much difficulty.

  12. linuxbrew-core

    Discontinued 💀Formerly the core formulae for the Homebrew package manager on Linux

    I decided to take a few years off work to just build on what I'd like. Perhaps in a startup studio model, so I have a bias for having something that is easily reusable, and that uses tech someone else can pick up and run with easily. I'll probably be in the business of dev/infra tooling.

    Currently going with a container image as the minimal deployable unit that gets put on top of a clean up to date OS. For me that's created with a Dockerfile using Alpine image variants. In a way I could see someone's rsync as an ok equivalent, but I'd do versioned symlinked directories so I can easily roll back if necessary if I went with this method. Something like update-alternatives or UIUC Encap/Epk: https://www.ks.uiuc.edu/Development/Computers/docs/sysadmin/.... Anyone remember that? I guess the modern version of Epkg with dependencies these days is https://docs.brew.sh/Homebrew-on-Linux. :-) Or maybe Nixpkgs: https://github.com/NixOS/nixpkgs?

    Deployment-wise I've already done the Bash script writing thing to help a friend automate his deployment to EC2 instance. For myself I was going to start using boto3, but just went ahead and learned Terraform instead. So now my scripts are just simple wrappers for Docker/Terraform that build, push, or deploy that work with AWS ECS Fargate or DigitalOcean Kubernetes.

    No CI/CD yet. DBs/backups I'll tackle next as I want to make sure I can install or failover to a new datacenter without much difficulty.

  13. mataroa

    naked blogging platform

    My web app is hosted on a server on Hetzner Cloud. I don't use Docker.

    For:

    * Database: PostgreSQL installed through apt in the same server: https://github.com/sirodoht/mataroa/blob/master/docs/server-...

    * Backups: MinIO-upload to an S3-compatible object storage: https://github.com/sirodoht/mataroa/blob/master/backup-datab...

    * CI: Github Actions + sr.ht builds: https://github.com/sirodoht/mataroa/blob/master/.github/work... + https://github.com/sirodoht/mataroa/blob/master/.build.yml

    * CD: (not exactly CD but...) ssh + git pull + uWSGI reload: https://github.com/sirodoht/mataroa/blob/master/deploy.sh

    * Rollbacks: git revert HEAD + ./deploy.sh

    * Architecture pattern: stick to the monolith; avoid to deploy another service at all costs; eg. we need to send multiple emails? not celery, that would mean hosting a redis/rabbitmq. We already have a database so let's use that. We can also use Django management commands and cron: https://github.com/sirodoht/mataroa/blob/5bb46e05524d99c346c... + https://github.com/sirodoht/mataroa/blob/master/main/managem...

  14. rupy

    HTTP App. Server and JSON DB - Shared Parallel (Atomic) & Distributed

    I made my own HTTP app. server and JSON database on top of that.

    The server accepts .jars with code (and files) so I can hotdeploy while developing on live on the entire cluster in real time. My turnaround is about 1 second.

    The JSON database allows for schema-less simplicity, and it has all the features you need like indexes and security (and then some, like global realtime distributed while still being performant) in 2000 lines of code.

    I have zero pain developing the most scalable (and energy efficient) backend in the world, yet very few seem to care or use it: https://github.com/tinspin/rupy

    It has been proven on a real project with 5 years uptime and 350.000 users: https://store.steampowered.com/app/486310/Meadow/

  15. external-dns

    Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services

    Via annotations on my ingresses, and of course with this : https://github.com/kubernetes-sigs/external-dns

  16. flux2

    Open and extensible continuous delivery solution for Kubernetes. Powered by GitOps Toolkit.

  17. porter

    Discontinued Kubernetes powered PaaS that runs in your own cloud.

  18. dbmate

    🚀 A lightweight, framework-agnostic database migration tool.

    I agree with most people here. Definitely keep it simple.

    With that said, I run a semi resource intensive operation, so I've invested a bit into dev ops to keep our costs down. My setup is currently on AWS, primarily using ECS, RDS, Elasticache. Infra is managed via Terraform.

    I felt ECS was a nice balance vs K8s, as it's much simpler to manage, while getting the benefit of maximizing resource utilization.

    For CI / deployment, I use Github Actions to build an image and push, then start a rolling refresh to update the containers to the new version. It was pretty easy to setup.

    On DBs, RDS handles all the backups and maintenance. For migrations, I use https://github.com/amacneil/dbmate.

    Happy to answer any other questions you have, as I've learned a lot through trial and error.

  19. parsemail

    Hanami fork of https://github.com/DusanKasan/parsemail

    - docker-compose to spin up everything. It's super nice. Again, the deployment is done with a `rsync` then `docker-compose up -f docker-compose-prod.yml`

    Eventually when deployment changes very frequent and need scale/ha I added in Kubernetes. K8S is way easiser to setup than you think and it handle all other suff(load balancer, environment variable etc).

    And my deploy now become: `kubectl apply -f`

    One trick I used is to use `sed` or `envsubst` to replace the image hash.

    For backedup, I again, literally setup cronjob from an external server, `ssh` into database and run `pgdump`.

    I also have a nice NFS server to centralize config and sync back to our git repo.

    I used this whole setup to operate https://hanami.run an email forwarding service for the first 3 months before I added Kubernetes.

  20. laravel-backup

    A package to backup your Laravel app

    In my case I'm dumping + zipping the entire database at the application level. In my case is as simple as adding a library [1], scheduling the job and transferring to AWS S3 (my main application is on DigitalOcean)

    [1] https://github.com/spatie/laravel-backup

  21. core

    MetaCall: The ultimate polyglot programming experience. (by metacall)

    I try to avoid any complicated tool and simplify my life with NoOps tools. Using Kubernetes or AWS from scratch is probably going to kill your startup.

    In my case, I have tried MetaCall: https://metacall.io

  22. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Show HN: Porter Cloud – PaaS with an eject button

    5 projects | news.ycombinator.com | 23 May 2024
  • Porter Cloud – PaaS you can eject

    1 project | news.ycombinator.com | 27 Mar 2024
  • Scaling Knative to 100K+ Webapps

    1 project | news.ycombinator.com | 8 Oct 2023
  • European cloud app platform?

    1 project | /r/devops | 15 Oct 2022
  • Did you migrate to kubernetes? Did you regret it?

    1 project | /r/devops | 23 Sep 2021

Did you know that Go is
the 4th most popular programming language
based on number of references?