Live data from Hacker News

Spin up your development background processes with ease

github.com

11–20 of 30 posts

Re: Spin up your development background processes with ease

#11
post #7

What's the advantage of using this over systemd user services? https://wiki.archlinux.org/title/Systemd/User Again, services are configured with short text-based configuration files.

Good question, I think there are many different approach on solving running multiple services. So it boils down to what you need, and what works for you. One advantage might be the ease of use. Using Porter you don't need to know anything about Supervisor, systemd or other more technical implementations. Porter abstracts away these things so you only have to write a simple .yml file.

Re: Spin up your development background processes with ease

#12
post #8

If you want to take the next step past docker-compose, I strongly recommend Skaffold instead of moving backwards to supervisord.

Good tip! I haven't heard of Skaffold but it looks like an interesting alternative. Skaffold seems to offer a great amount of features but it might be a steep learning curve for beginners. Porter is not meant to be a replacement for docker-compose, it's more focused towards those who don't use Docker and want an easy way to run certain processes.

Re: Spin up your development background processes with ease

#15
post #14

This looks like a good alternative to Foreman ( https://ddollar.github.io/foreman/ ). Do you know about it? What advantages do you think Porter has over it? Congratulations on the cool project.

Thanks! After I started building and sharing my progress on Twitter some did suggest foreman. I just took a quick look and I think Porter is a bit easier to use because of the porter.yml file you can add to every project. Which may read a bit easier compared to the procfiles. One or two other advantages could be the interval restart feature, where you can restart services automatically after a certain interval (useful for unstable services). The second advantages is something I'm working on at the moment, where you can define processes to restart if certain files have been modified.

Re: Spin up your development background processes with ease

#16
I've done something similar with Nix and supervisord before. On the one hand, I think this kind of simplified config format can be nice for teams who don't want to have to contend with the process supervisor in all its complexity. On the other, supervisord is pretty simple already.

Re: Spin up your development background processes with ease

#18
post #5

I was excited about this because I use docker-compose to run a service written in Rust. The final command of the container is “cargo watch -x run” and the compiles take 1-2 minutes per hot reload. Porter solved this by completely sidestepping images, but I’m still considering if this is worth having the user install cargo on their host machine (in the case of porter) and give up hermetic development. Not sure yet, bu…

I think it's worth installing software on your OS if your situation allows for it. I mostly use PHP and NodeJS, which are easy to manage with tools like Laravel Valet or nvm. I've been doing this for years and love it. I can imagine that if you have various difficult services to install and maintain on your main OS, using Docker is a more convenient solution.

Re: Spin up your development background processes with ease

#20
post #6

This is cool. I've been looking for something like this to pair with my nix env. Docker makes process management and logging in the dev environment so easy, but between the performance issues and abstraction leaks when jumping back and forth between native containers on linux and virtual machines on macos we gave up and started using nix to handle the reproducibility of our dev environment. The only thing I miss is t…

Thanks! Feel free to submit some feature requests to the GitHub repo and I'll see what I can do to further ease the process of service and log management.
Post reply on HN