supervisor
systemd
Our great sponsors
supervisor | systemd | |
---|---|---|
36 | 495 | |
8,188 | 12,294 | |
0.9% | 1.7% | |
5.2 | 10.0 | |
10 days ago | 7 days ago | |
Python | C | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
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.
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/.
-
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.
- 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.
-
A Deep Dive Into Laravel Queues
So far in this article, you’ve started the queue workers manually. In a production server, that's not an option. Instead, you'll have to use a program called supervisor. It's a popular process control system for UNIX-like operating systems. If you're deploying an application on a Ubuntu server, supervisor will come pre-installed. However, if you're on a platform that doesn't come with the program pre-installed, follow the official installation instructions.
-
Impossible to kill app
Not sure if this helps, but on normal Linux systems I usually use supervisor to ensure processes keep running
systemd
-
X.org Server Clears Out Remnants for Supporting Old Compilers
- Mysterious PID1 crash related to timedatectl, resolved by replacing /etc/localtime with a regular file instead of symlink (to a file on same FS). How do you strace PID1 to get some idea what's going on? You don't. Good thing timezone management needs to be part of init!
- Mysterious issue in resolvectl, some sort of race condition, 2-year old bug report https://github.com/systemd/systemd/issues/22775 - at least you actually don't have to use this one.
And those are just the two that I've had to spend hours on in the past few years.
Not using systemd is barely a choice, even if you don't use systemd itself you nearly have to use things which are designed in exactly the same bad ways (polkit, systemd-udevd), there are several (negative) changes which even systemd-resistant distros have adopted for conformity which were first driven by systemd, lots of software has completely removed their provided init-scripts and replaced them with systemd unit files only so you have to write your own or go dig it up from the git history...
Oh and it's extremely brittle and one little piece breaking means you can't boot at all, not even in single user, since everything is jammed into PID1... so good luck even examining what's going on.
I could go on but of course you've already seen and chosen to ignore any argument I could make.
-
Ask HN: Who wants to be hired? (February 2024)
Hi HN! I'm a Linux security engineer looking for work on Open Source software. I've done some security work in the Linux Kernel (containerization primitives), in systemd as well as some work on Secure Boot.
Notably I've implemented auto-enrollment of secure boot keys in systemd. See (https://github.com/systemd/systemd/pull/20255 & https://lpc.events/event/16/contributions/1259/).
Lately, I've been very interested in MicroVMs and minimizing the Linux Kernel attack surface.
Message me if any of that sounds interesting!
-
New Renderers for GTK
The xdg-portal attempt was misguided and I don't beleive anyone is pursuing it at this point. Ideally drm-leasing would be managed by the login manager, allowing multiple compositors to lease connectors and run independently on other monitors, as well as being used for VR headsets. https://github.com/systemd/systemd/issues/29078.
Sidenote: I hacked the wayland protocol implementation for gnome into working at least for SteamVR, but at least with AMD gpus there is some serious bug preventing the card from performing properly. It basically throttles itself for no reason and never hits the refresh rates needed for smooth VR, especially since there is no asynchronous reprojection at the moment. So while ideally the drm-leasing problem would be solved already there are other even more important problems to solve with linux VR for now.
-
A Suprising Discovery Inside the Steam Deck's APU
> It is very hardware dependent.
NVIDIA GPUs definitely make things more difficult, at least in the suspend-then-hibernate case. Here's where I reported a hacky workaround:
https://forums.developer.nvidia.com/t/systemds-suspend-then-...
See also:
https://github.com/systemd/systemd/issues/27559
NVIDIA kinda sorta just doesn't give a shit, unfortunately.
-
Why would you still want to use strace in 2023? [video]
> You'll still care that you can write that file, right?
Sometimes you don't need it.
systemd itself just checks that `/etc/initrd-release` exists and runs in initrd mode changing its default target to boot into (IIRC you can also manually change the default target to `initrd.target` in the initrd, but this way the default systemd vendored files don't need to be touched).
https://github.com/systemd/systemd/blob/7f13af72f89452950226...
-
Systemd through the eyes of a musl distribution maintainer
I generally embrace systemd and have been pretty happy with it but there's one component which simply doesn't work correctly and that's systemd-resolved in combination with DNSSEC. I eventually had to replace it with Knot Resolver which works flawlessly on the same machine / network.
There's a willingness from the systemd devs to start incorporating Rust into it, possibly quite soon: https://github.com/systemd/systemd/pull/19598
uint8_t signature[8]; /* "LPKSHHRH" */
== Lennart Poettering, Kay Siver, Harald Hoyer, Red Hat
I don't know the details but I heard at some point Kay and Lennart had a falling out within the project. By the time I got involved in journald development @ CoreOS, neither Kay nor Harald were visibly participating anymore... It was kind of annoying, as it left just Lennart to review any journald PRs, who was obviously busy, but eventually got around to it. I think it's worth noting that despite being the person who receives all the systemd hate, Lennart didn't promptly abandon maintenance of the project after getting installed everywhere.
[0] https://github.com/systemd/systemd/blob/v255/src/libsystemd/...
-
Earlyoom – Early OOM Daemon for Linux
Or systemd's systemd-oomd https://github.com/systemd/systemd/pull/15206
The answer for both of those is "if you're unfortunate enough to be running a 2.6 kernel linux server from 2005, then you can't use cgroupsv2 and thus can't use oomd or systemd-oomd".
-
Systemd's new blue screen of death (systemd-bsod)
Ok? I never said he wasn't involved, but he didn't create this tool. And for your info, he wasn't the only systemd developer that was involved as well. But of course, you immediatly started throwing a tantrum at just reading his name because all you can whine about is how systemd is the source of all evil and Poettering is the devil!
What are some alternatives?
openrc - The OpenRC init system
Docker Compose - Define and run multi-container applications with Docker
PM2 - Node.js Production Process Manager with a built-in Load Balancer.
tini - A tiny but valid `init` for containers
honcho - Honcho: a python clone of Foreman. For managing Procfile-based applications.
inotify-tools - inotify-tools is a C library and a set of command-line programs providing a simple interface to inotify.
s6 - The s6 supervision suite.
Nodemon.io - Monitor for any changes in your node.js application and automatically restart the server - perfect for development
earlyoom - earlyoom - Early OOM Daemon for Linux
psutil - Cross-platform lib for process and system monitoring in Python
RabbitMQ - Open source RabbitMQ: core server and tier 1 (built-in) plugins
Ansible - Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com.