process-compose
supervisor
Our great sponsors
process-compose | supervisor | |
---|---|---|
16 | 36 | |
962 | 8,221 | |
- | 0.9% | |
9.2 | 5.2 | |
22 days ago | about 1 month ago | |
Go | Python | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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)
supervisor
-
An Internet of PHP
What I went with was having both a web server (Apache/Nginx) and PHP-FPM in the same container image, held together by Supervisor: http://supervisord.org/
In my case, the Dockerfile looks a bit like the following:
# Whatever base web server image you want, Debian/Ubuntu based here
-
Private Python Packages With devpi
As you can see there are several methods of running devpi server including cron, launchd (OSX service), nginx, Windows service, and supervisord. It also has a systemd service file which we can use to manage the service easily as Ubuntu uses it for primary service management. First off though we're going to need a proxy script to ensure that devpi is running in the virtual environment:
-
How can I get a lisp image to run in the background?
If it's a linux box you can make it a systemctl service, or you could use http://supervisord.org/.
-
Can I create/delete a Serverless VPC using Python?
I used supervisord to start my server and the cloud SQL proxy within the same container. That should work for your use case too.
-
Have you convinced anyone to use Nix or NixOS? Friends? Coworkers?
I convinced (previous) $dayjob to use it. It (nix) kind of hung around in the background with the team that used haskell for awhile, but became prime time when we needed to support a range of VMs running within client infrastructure that were in reality just running various python scripts under supervisord (http://supervisord.org/). The range of client machines (redhat, centos, debian, ubuntu all of different releases) with differing versions of python and supervisord were driving our support and devops teams crazy (but in a weird way - they thought they were being productive, and really enjoyed tweaking things to work with additional varieties of os...). Additionally, having to work around some minor pain points of supervisord (adding and removing config files and not interrupting running services) lead to the realisation that there was a perfectly good service manager at the bottom of the modern versions of these systems (systemd) and that nixos was just a nix wrapper around this systemd and it would only restart what actually changed...
-
Design of GNU Parallel
Here's more information about the configuration file format, in case anyone is curious: http://supervisord.org/configuration.html
My problem is that it's not always immediately clear how software that would normally run as a systemd service could be launched in the foreground instead. It usually takes a bit of digging around.
-
How We Built an Application to Test Student Docker Images for Database Systems University Course
This post is structured as follows: The first chapter Requirements and Design, describes the requirements for such an application, defines its processes, breaks it down into logical components, and proposes a data model. The second chapter Implementation, provides an introduction to key implementation issues, such as implementing asynchronous tasks and LDAP authentication. It also showcases the usage of Docker with Python SDK in the project, including network configuration, and describes the deployment configuration using supervisord. The final chapter summarizes the efforts and provides links to the code repositories.
-
Is it possible direct cron output to supervisord?
I have set up supervisord running cron job. However based on the discussion in supervisord GitHub, it is not possible to redirect cron's spawned command output to supervisord.
- rc.d script for Node.js application
-
MISP at scale on Kubernetes
The project MISP-Docker from Coolacid is providing a containerized version of the MISP solution. This all-in-one solution includes the frontend, background jobs, cronjobs and an HTTP Server (Nginx) all orchestrated by process manager tool called supervisor. External services such as the database and Redis arenโt part of the container but are necessary. We decided that this project is very a good starting point to scale the MISP on Kubernetes.
What are some alternatives?
overmind - Process manager for Procfile-based applications and tmux
Docker Compose - Define and run multi-container applications with Docker
xrdp - xrdp: an open source RDP server
PM2 - Node.js Production Process Manager with a built-in Load Balancer.
skopeo - Work with remote images registries - retrieving information, images, signing content
honcho - Honcho: a python clone of Foreman. For managing Procfile-based applications.
iwf - iWF is an API orchestration platform offering an orchestration coding framework and service for building resilient, fault-tolerant, scalable long-running processes
Nodemon.io - Monitor for any changes in your node.js application and automatically restart the server - perfect for development
erlexec - Execute and control OS processes from Erlang/OTP
psutil - Cross-platform lib for process and system monitoring in Python
envd - ๐๏ธ Reproducible development environment
systemd - The systemd System and Service Manager