Docker Compose
supervisor
Docker Compose | supervisor | |
---|---|---|
390 | 36 | |
32,539 | 8,256 | |
1.2% | 0.8% | |
9.6 | 4.8 | |
2 days ago | 18 days 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.
Docker Compose
-
Deploy a Grafana dashboard with Docker on AWS EC2
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
- Docker Compose: `version` is obsolete
-
12 Factor: 13 years later
Solutions are many, and could include Docker Compose, VS Code dev containers, Telepresence, Localstack or setting up temporary AWS accounts as a development environment for serverless applications.
-
Let's write a simple microservice in Clojure
Using Docker Compose to run Postgres and any third-party services locally provides a streamlined and consistent development environment. Developers can define services in a docker-compose.yml file, which enables them to configure and launch an entire stack with a single command. In this case, Postgres is encapsulated within a container with predefined configurations. Docker Compose also facilitates easy scaling, updates, and isolation of services, enhancing development efficiency and reducing the setup time for new team members or transitioning between projects. It encapsulates complex configurations, such as Postgres' performance monitoring and logging settings, in a manageable, version-controlled file, simplifying and replicating the service setup across different environments.
- Live reload em Go com docker e compile daemon
-
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.
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?
LibreNMS-docker - LibreNMS Docker image
PM2 - Node.js Production Process Manager with a built-in Load Balancer.
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.
honcho - Honcho: a python clone of Foreman. For managing Procfile-based applications.
Portainer - Making Docker and Kubernetes management easy.
Nodemon.io - Monitor for any changes in your node.js application and automatically restart the server - perfect for development
Cloud-Init - unofficial mirror of Ubuntu's cloud-init
psutil - Cross-platform lib for process and system monitoring in Python
k3s - Lightweight Kubernetes
systemd - The systemd System and Service Manager
docker-cloudflared - Cloudflared proxy-dns Docker image
RabbitMQ - Open source RabbitMQ: core server and tier 1 (built-in) plugins