supervisor
Docker Compose
Our great sponsors
supervisor | Docker Compose | |
---|---|---|
36 | 384 | |
8,221 | 32,312 | |
0.9% | 1.2% | |
5.2 | 9.6 | |
about 1 month ago | 7 days ago | |
Python | Go | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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/.
-
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.
Docker Compose
-
Docker compose, orchestrating and automating services
“Compose simplifies the control of your entire application stack, making it easy to manage services, networks, and volumes in a single, comprehensible YAML configuration file. Then, with a single command, you create and start all the services from your configuration file.” - Docker documentation
-
Hosting a simple docker-compose app with Nginx and generate a SSL with certbot on digitalocean droplet
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh # Install docker compose sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # Apply executable permissions to the binary sudo chmod +x /usr/local/bin/docker-compose # Run Project docker-compose up -d
-
One Minute: Compose
Docker,
-
How to Set Up a Docker Container
This foundation now opens the door to even more powerful concepts. You can explore more advanced concepts such as container networking, streamlining the management of complex applications with Docker Compose, and how to make your application data persistent using volumes.
-
Use same Dockerfile for Dev & Production
In many projects that are containerized, especially in cases where development is also done locally with docker-compose, teams often have two Dockerfiles, 1 for Development, the other for Production. If you happen to have multiple environments like pre-prod, staging and so on, some teams could have different Dockerfiles for these environments.
-
How to Dockerise a NodeJS - TypeScript API || A Comprehensive Guide from Environment Setup to Deployment with a CI/CD Pipeline
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
-
Deploy a MongoDB Cluster With Docker Compose
You can also use Docker Compose to deploy the cluster, without having to write all the previous commands.
-
Build and Deploy a ReactJS App to AWS EC2 with Docker, NGINX, and Automate with GitHub Actions.
[ec2-user]$ sudo yum update -y [ec2-user]$ sudo yum install -y docker [ec2-user]$ sudo service docker start [ec2-user]$ sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose [ec2-user]$ sudo chmod +x /usr/local/bin/docker-compose [ec2-user]$ docker --version Docker version 20.10.23, build 7155243 [ec2-user]$ docker-compose --version Docker Compose version v2.18.1
-
MongoDB on Your Local Machine Using Docker: A Step-by-Step Guide
Docker Compose Documentation
-
Docker - Setup a local JS and Python Development environment (Part 2)
groupadd -g 997 docker gpasswd -a jenkins docker curl -L https://github.com/docker/compose/releases/tag/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose #confirm the docker-compose is installed docker-compose version
What are some alternatives?
PM2 - Node.js Production Process Manager with a built-in Load Balancer.
LibreNMS-docker - LibreNMS Docker image
honcho - Honcho: a python clone of Foreman. For managing Procfile-based applications.
terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
Nodemon.io - Monitor for any changes in your node.js application and automatically restart the server - perfect for development
Portainer - Making Docker and Kubernetes management easy.
psutil - Cross-platform lib for process and system monitoring in Python
Cloud-Init - unofficial mirror of Ubuntu's cloud-init
systemd - The systemd System and Service Manager
k3s - Lightweight Kubernetes
RabbitMQ - Open source RabbitMQ: core server and tier 1 (built-in) plugins
docker-cloudflared - Cloudflared proxy-dns Docker image