Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pyouroboros/ouroboros
Automatically update running docker containers with newest available image
https://github.com/pyouroboros/ouroboros
container-management containers docker docker-container python-3 python3 update-checker updater
Last synced: 23 minutes ago
JSON representation
Automatically update running docker containers with newest available image
- Host: GitHub
- URL: https://github.com/pyouroboros/ouroboros
- Owner: pyouroboros
- License: mit
- Created: 2018-09-17T23:10:55.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-09T17:59:13.000Z (almost 2 years ago)
- Last Synced: 2024-10-29T17:58:18.442Z (about 1 month ago)
- Topics: container-management, containers, docker, docker-container, python-3, python3, update-checker, updater
- Language: Python
- Homepage:
- Size: 716 KB
- Stars: 1,582
- Watchers: 24
- Forks: 158
- Open Issues: 46
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - pyouroboros/ouroboros - Automatically update running docker containers with newest available image (Python)
- awesome-docker - Ouroboros - Automatically update running Docker containers with notifications (Development with Docker / CI/CD)
- awesome-docker - Ouroboros - Automatically update running Docker containers with notifications (Development with Docker / CI/CD)
README
⚠️⚠️⚠️ ouroboros is no longer in development. It does its job (more or less) and the devs have succumb to real life! Please feel free to fork and maintain as you wish. We appreciate all of the support in the last year :). After support from the community, automated version bumps will continue to try to keep ouroboros in check with dependencies. ⚠️⚠️⚠️
[![Discord](https://img.shields.io/discord/532695326117593112.svg?colorB=7289DA&label=Discord&logo=Discord&logoColor=7289DA&style=flat-square)](https://discord.gg/qHNByUW)
[![Release](https://img.shields.io/github/release/pyouroboros/ouroboros.svg?style=flat-square)](https://hub.docker.com/r/pyouroboros/ouroboros/)
[![Python Version](https://img.shields.io/pypi/pyversions/ouroboros-cli.svg?style=flat-square)](https://pypi.org/project/ouroboros-cli/)
[![Docker Pulls](https://img.shields.io/docker/pulls/pyouroboros/ouroboros.svg?style=flat-square)](https://hub.docker.com/r/pyouroboros/ouroboros/)
[![Layers](https://images.microbadger.com/badges/image/pyouroboros/ouroboros.svg)](https://microbadger.com/images/pyouroboros/ouroboros)Automatically update your running Docker containers to the latest available image.
The de-facto standard for docker update automation
## Overview
Ouroboros will monitor (all or specified) running docker containers and update them to the (latest or tagged) available image in the remote registry. The updated container uses the same tag and parameters that were used when the container was first created such as volume/bind mounts, docker network connections, environment variables, restart policies, entrypoints, commands, etc.
- Push your image to your registry and simply wait your defined interval for ouroboros to find the new image and redeploy your container autonomously.
- Notify you via many platforms courtesy of [Apprise](https://github.com/caronc/apprise)
- Serve metrics for trend monitoring (Currently: Prometheus/Influxdb)
- Limit your server ssh access
- `ssh -i key server.domainname "docker pull ... && docker run ..."` is for scrubs
- `docker-compose pull && docker-compose up -d` is for fancier scrubs## Getting Started
More detailed usage and configuration can be found on [the wiki](https://github.com/pyouroboros/ouroboros/wiki).
### Docker
Ouroboros is deployed via docker image like so:
```bash
docker run -d --name ouroboros \
-v /var/run/docker.sock:/var/run/docker.sock \
pyouroboros/ouroboros
```> This is image is compatible for amd64, arm32, and arm64 CPU architectures
or via `docker-compose`:
[Official Example](https://github.com/pyouroboros/ouroboros/blob/master/docker-compose.yml)
### Pip
Ouroboros can also be installed via `pip`:
```bash
pip install ouroboros-cli
```And can then be invoked using the `ouroboros` command:
```bash
$ ouroboros --interval 300 --log-level debug
```> This can be useful if you would like to create a `systemd` service or similar daemon that doesn't run in a container
## Examples
Per-command and scenario examples can be found in the [wiki](https://github.com/pyouroboros/ouroboros/wiki/Usage)## Contributing
All contributions are welcome! Contributing guidelines are in the works