process-compose
mise
Our great sponsors
process-compose | mise | |
---|---|---|
16 | 46 | |
962 | 6,069 | |
- | - | |
9.2 | 9.9 | |
22 days ago | 2 days ago | |
Go | Rust | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
process-compose
- Process Compose: flexible scheduler to manage non-containerized apps
-
Show HN: Is_ready – Wait for many services to become available – 0 Dependencies
The IMO superior https://github.com/F1bonacc1/process-compose project has this built in, while allowing to manage regular programs that don't require containers.
See:
-
Show HN: Flox 1.0 – Open-source dev env as code with Nix
Devbox can also run services too. Both products use an awesome process runner called process-compose (https://github.com/f1bonacc1/process-compose/) which is worth checking out (it's even built with nix!)
- Process Compose: scheduler/orchestrator for non-containerized applications
- Lightweight, Single Process PM2 Alternative
-
Container + SSH = a good development environment
I've been using https://github.com/F1bonacc1/process-compose with great success.
It's a userspace process compositor that works across all relevant platforms, supporting daemon processes and k8s style readiness/health checks.
In combination with nix flakes, it quickly reduced my projects docker-compose usage for easy-to-configure services.
This gave huge performance benefits for the M1 Mac folks on my team especially for CPU intensive processes thanks to native binaries.
For maximal ease of use, the remaining docker-compose containers are started/stopped as a process-compose task.
- Show HN: I've built processes orchestrator, with UI in a single executable file
-
If docker-compose and K9S had a baby (without the containers gene)
In order to run a simple client-server (1 client, 5 servers) application, I wrote a simple docker-compose file and everything worked great. My dev flow would be the usual: make some changes/optimizations, spin everything up, run a bunch of tests, and go back to step one. At some point, I felt that for my dev environment and language (Linux, golang). docker-compose is great for spinning everything up, but for rapid development, it actually slows me down. I didn't really need containers. I tried to find an alternative solution. Something like a docker-compose, but for native processes, but most of the tools that I found were CI/CD oriented. I like K9S (who doesn't?) and I like docker-compose (some don't), so I built a Frankenstein Monster of them both :) https://github.com/F1bonacc1/process-compose I am not sure if you'll find it as useful as I do, but in any case, any feedback is more than welcome.
- If Docker-compose and K9S had a baby (without the containers gene)
mise
-
Mise is a polyglot tool version manager
Where are you getting "mise uses asdf" from? mise is simply compatible with all asdf plugins. Not the same thing.
It's even said almost at the top of the README.md in the "30 seconds demo" section:
"The following shows using mise to install different versions of node. Note that calling which node gives us a real path to node, not a shim."
https://github.com/jdx/mise?tab=readme-ov-file#30-second-dem...
So yes, mise does not use shims. It only manipulates $PATH. I did benchmarks a while ago and that definitely and consistently has shaved some milliseconds off of the startup times of my tools.
-
Install Asdf: One Runtime Manager to Rule All Dev Environments
mise borrows the plugins from asdf, which also makes it non-cross platform. Interesting discussion on this topic on their GitHub: https://github.com/jdx/mise/discussions/66
Solutions considered include adopting the vfox plugin system or transpiling all asdf plugins to ShellJs.
Now I know that vfox exists.
- Show HN: I made a multiple runtime version manager that can be used on Windows
- Mise-en-place – The front-end to your dev env
- Mise-en-place: The front-end to your dev env
-
Pyenv – lets you easily switch between multiple versions of Python
Why not just use a tool like asdf (https://asdf-vm.com/) or mise (https://mise.jdx.dev/)?
These tools have the advantage of not being multi-taskers and can manage version for all your tools. You wouldn’t need pyenv and npm and rvm and…
We’ve even started committing the .mise.toml files for projects to our repos. That way, since we work on multiple projects that may need multiple versions of the same tool, it’s handled and documented.
-
Difftastic, a structural diff tool that understands syntax
direnv + mise does exactly that. When I cd to various directories I get different env vars, it's pretty neat. Setting aliases would just be a case of adding them.
https://github.com/jdx/mise/discussions/1525 for an example of how I use direnv with mise.
https://mise.jdx.dev/direnv.html
https://mise.jdx.dev/templates.html
-
Experimenting with Modern UI Alternatives in Rails
Installed bun js runtime (I used mise, btw)
-
Show HN: Flox 1.0 – Open-source dev env as code with Nix
Not nix based, but I really like https://github.com/jdx/mise too to manage dev tools.
It’s a modern version of https://github.com/asdf-vm/asdf written in Rust.
-
A Journey to Find an Ultimate Development Environment
The purpose of a version manager is to help you navigate or install any tools for development easily. Version Manager can be one tool for each dependency (e.g. NVM, g) or One tool for all dependencies (e.g. asdf, mise).
What are some alternatives?
overmind - Process manager for Procfile-based applications and tmux
asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
supervisor - Supervisor process control system for Unix (supervisord)
pyenv-win - pyenv for Windows. pyenv is a simple python version management tool. It lets you easily switch between multiple versions of Python. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.
xrdp - xrdp: an open source RDP server
homebrew-tap - Homebrew Tap of HashiCorp products and tools
skopeo - Work with remote images registries - retrieving information, images, signing content
Poetry - Python packaging and dependency management made easy
iwf - iWF is an API orchestration platform offering an orchestration coding framework and service for building resilient, fault-tolerant, scalable long-running processes
aqua - Declarative CLI Version manager written in Go. Support Lazy Install, Registry, and continuous update with Renovate. CLI version is switched seamlessly
erlexec - Execute and control OS processes from Erlang/OTP
pyenv - Simple Python version management