Dockerized service to backup all running database containers

Overview

Docker Database Backup

Source Checks Release Last Commit License

Dockerized service to automatically backup all of your database containers.

Docker Image Tags:

Supported Architectures: amd64, arm64, arm/v6, arm/v7

Service Configuration

Configure the backup service by specifying environment variables:

Name Default Description
TZ UTC Time Zone for scheduling and log messages
SCHEDULE (none) Specify a cron expression or an interval (number of seconds to wait between backup cycles). Leave undefined to make a one time run. See Croniter Documentation for cron options.
SCHEDULE_HASH_ID (none) Seed for hashed components in cron expressions. If not defined, the hostname of the container is used.
RUN_AT_STARTUP (none) Do a backup right after the backup service starts. If not defined, it is enabled when using an interval as schedule, and disabled when using cron expressions. Not used, if no schedule is defined.
DUMP_UID -1 UID of dump files. -1 means default (docker executing user)
DUMP_GID -1 GID of dump files. -1 means default (docker executing user)
HEALTHCHECKS_IO_URL (none) Base Url for Healthchecks.io integration
DEBUG false More verbose output for debugging
DOCKER_NETWORK_NAME database-backup Prefix for the name of the internal network, that is used to connect to the database containers.
DOCKER_TARGET_NAME database-backup-target Prefix for the name of the internal hostname, that is used to connect to the database containers.
INSTANCE_ID default Unique ID of each backup service instance. Must only be specified if more than one instance should be run on the same docker engine. If you change the value of INSTANCE_ID, the backup service container also needs a label jan-di.database-backup.instance_id with the same value, to allow it to find itself via the docker API.

You can also define global default values for all container specific labels. Do this by prepending the label name by GLOBAL_. For example, to provide a default username, you can set a default value for jan-di.database-backup.username by specifying the environment variable GLOBAL_USERNAME. See next chapter for reference.

Database Configuration

Configure each database container by specifying labels. Every label must be prefixed by jan-di.database-backup.:

Name Default Description
enable false Enable backup for this container
type auto Specify type of database. Possible values: auto, mysql, mariadb, postgres. Auto tries to get the type from the image name (for specific well known images)
username root Login user
password (none) Login password
port auto Port (inside container). Possible values: auto or a valid port number. Auto gets the default port corresponding to the type.
compress false Compress SQL Dump with gzip
compression_level 6 Gzip compression level (1-9)
encrypt false Encrypt SQL Dump with AES
encryption_key (none) Key/Passphrase used to encrypt
retention_policy none Type of retention policy used to cleanup dump files. Possible values: none, simple, all See below for more info.
retention_min_count auto Backups below this count will be kept, ignoring the max constraints. auto sets the value based on retention_policy
retention_min_age auto Backups below this age will be kept, ignoring max constraints. See Tempora Documentation for possible values. auto sets the value based on retention_policy
retention_max_count auto Backups above this count will be deleted. auto sets the value based on retention_policy. Value 0 means no limit.
retention_max_age auto Backups above this age will be deleted. See retention_min_age for possible values. auto sets the value based on retention_policy. Value 0s means no limit.
dump_name (none) Overwrite the base name of the dump file. If not defined, the container name is used.
dump_timestamp auto Append timestamp to dump file (Format: _YYYY-MM-DD_hh-mm-ss). Default value depends on the used retention policy.

Database Type

The database type is automatically resolved by checking the image tag. If the image is is not a well known image, you can provide the database type manually.

Type Description Related Options / Default Values
mysql MySQL port=3306
mariadb MariaDB port=3306
postgres Postgres port=5432

Retention Policy

You can choose one of the following retention policies for each container. All default values of the retention policy can be overriden manually.

Policy Description Related Options / Default Values
none (default) Only the newest dump file per database will be kept. Timestamps are deactivated by default. dump_timestamps=false, retention_min_count=1, retention_min_age=0s, retention_max_count=1, retention_max_age="0s"
simple Dump files will be kept/deleted according to count and age. dump_timestamps=true, retention_min_count=10, retention_min_age=0s, retention_max_count=0, retention_max_age="1 month"
all All dump files are being kept. dump_timestamps=true, retention_min_count=1, retention_min_age="0s", retention_max_count=0, retention_max_age="0s"

Example

Example docker-compose.yml:

version: '3.8'

services:
  db-backup: # backup service
    image: ghcr.io/jan-di/database-backup
    environment:
      - TZ=Europe/Berlin
      - SCHEDULE=600
      - GLOBAL_PASSWORD=secret-password
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

  database1: # well known database image
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=secret-password
    labels:
      - jan-di.database-backup.enable=true

  database2: # custom database image
    image: user/my-database:latest
    environment:
      - DB_PASSWORD=secret-password
    labels:
      - jan-di.database-backup.enable=true
      - jan-di.database-backup.type=postgres
      - jan-di.database-backup.password=other-password

Credits

Comments
  • Timestamps in backup filenames

    Timestamps in backup filenames

    Hi, thanks for the awesome tool! I've added it to a Docker Compose cluster I'm running - it's great to have automatic backups 😀

    I was wondering what you thought of the following feature request:

    Add a config option that appends a timestamp to the backup filename. This would allow multiple backups to be written out from a service and remove the need for another tool to rename the files before archiving them.

    I think it makes most sense for the config option to be at the database level rather than global, so it could be set for some databases and not others.

    e.g.

    # Minimal Docker Compose usage example
    version: '3.8'
    
    services:
      db-backup: # backup service
        image: ghcr.io/jan-di/database-backup
        environment:
          - TZ=Europe/Berlin
          - SCHEDULE=600
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
    
      database1: # well known database image
        image: mariadb:latest
        environment:
          - MYSQL_ROOT_PASSWORD=secret-password
        labels:
          - jan-di.database-backup.enable=true
          - jan-di.database-backup.dump_timestamp=true <-- This bit is new.
    

    Output;

    • /dump/database1_2021-10-30T14:35:40+00:00.sql (ISO 8601)

    Would this be something that you'd be interested in adding to this tool? If so I'm happy to have a hack at implementing it (but don't want to step on your toes!)

    enhancement 
    opened by silic0nalph4 5
  • Bump humanize from 4.2.3 to 4.3.0

    Bump humanize from 4.2.3 to 4.3.0

    Bumps humanize from 4.2.3 to 4.3.0.

    Release notes

    Sourced from humanize's releases.

    4.3.0

    Added

    Fixed

    Commits
    • dab62bf Merge pull request #46 from waseigo/el_GR-translation
    • 01bca3d Greek translation
    • bbc18e8 Merge pull request #45 from python-humanize/renovate/mkdocs-1.x
    • 9756d6b Update dependency mkdocs to v1.3.1
    • a7f4928 Merge pull request #44 from kianmeng/fix-markdown-issues-and-typo
    • caa11fc Fix markdown issue and typo
    • 22198b1 Merge pull request #43 from dejurin/main
    • fef2fe1 add thousand, fix big numbers
    • e705e43 Merge pull request #41 from vishket/update-intword
    • 4c76d35 refactor
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 4
  • Bump library/python from 3.9.7-bullseye to 3.10.0-bullseye

    Bump library/python from 3.9.7-bullseye to 3.10.0-bullseye

    Bumps library/python from 3.9.7-bullseye to 3.10.0-bullseye.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies docker 
    opened by dependabot[bot] 2
  • Bump python from 3.9.7-bullseye to 3.10.0-bullseye

    Bump python from 3.9.7-bullseye to 3.10.0-bullseye

    Bumps python from 3.9.7-bullseye to 3.10.0-bullseye.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies docker 
    opened by dependabot[bot] 2
  • Bump docker from 5.0.3 to 6.0.0

    Bump docker from 5.0.3 to 6.0.0

    Bumps docker from 5.0.3 to 6.0.0.

    Release notes

    Sourced from docker's releases.

    6.0.0

    ℹ️ Upgrade Notes

    • Minimum supported Python version is 3.7+
    • When installing with pip, the docker[tls] extra is deprecated and a no-op, use docker for same functionality (TLS support is always available now)
    • Native Python SSH client (used by default / use_ssh_client=False) will now reject unknown host keys with paramiko.ssh_exception.SSHException
    • Short IDs are now 12 characters instead of 10 characters (same as Docker CLI)
    • Version metadata is now exposed as __version__

    ✨ Features

    • Python 3.10 support
    • Automatically negotiate most secure TLS version
    • Add platform (e.g. linux/amd64, darwin/arm64) to container create & run
    • Add support for GlobalJob and ReplicatedJobs for Swarm
    • Add remove() method on Image
    • Add force param to disable() on Plugin

    🐛 Bugfixes

    • Fix install issues on Windows related to pywin32
    • Do not accept unknown SSH host keys in native Python SSH mode
    • Use 12 character short IDs for consistency with Docker CLI
    • Ignore trailing whitespace in .dockerignore files
    • Fix IPv6 host parsing when explicit port specified
    • Fix ProxyCommand option for SSH connections
    • Do not spawn extra subshell when launching external SSH client
    • Improve exception semantics to preserve context
    • Documentation improvements (formatting, examples, typos, missing params)

    🔧 Miscellaneous

    • Upgrade dependencies in requirements.txt to latest versions
    • Remove extraneous transitive dependencies
    • Eliminate usages of deprecated functions/methods
    • Test suite reliability improvements
    • GitHub Actions workflows for linting, unit tests, integration tests, and publishing releases

    Changelog

    ... (truncated)

    Commits
    • e901eac test: add additional tests for cgroupns option (#3024)
    • fc86ab0 swarm: add support for DataPathPort on init (#2987)
    • 45bf9f9 Merge remote-tracking branch 'upstream/main' into patch-1
    • c03aeb6 Merge remote-tracking branch 'upstream/main' into connect-with-mac
    • 58aa62b swarm: add sysctl support for services (#3029)
    • ff0b4ac docs: add changelog for 6.0.0 (#3019)
    • 6640243 Support global-job and replicated-job modes in Docker Swarm (#3016)
    • 4278981 credentials: eliminate distutils deprecation warnings (#3028)
    • ab5e927 lint: remove extraneous logic for preexec_func (#2920)
    • b7daa52 docs: add gzip arg to BuildApiMixin (#2929)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 1
  • Bump humanize from 4.1.0 to 4.2.1

    Bump humanize from 4.1.0 to 4.2.1

    Bumps humanize from 4.1.0 to 4.2.1.

    Release notes

    Sourced from humanize's releases.

    4.2.1

    Fixed

    4.2.0

    Added

    Fixed

    Commits
    • 3ddae94 Merge pull request #27 from hugovk/rename-ar_SA-to-ar
    • f7d4130 Rename Arabic locale from ar_SA to ar to enable fallbacks
    • 6871118 Merge pull request #23 from carterbox/intcomma-translation
    • e34f1cc [pre-commit.ci] auto fixes from pre-commit.com hooks
    • cfdfb81 TST: Add translation test for naturaldelta
    • 0e6ef5a Merge pull request #26 from hugovk/fix-intcomma-ndigits-0
    • 03863fe Fix intcomma with ndigits=0
    • 6c1d0c7 BUG: Use %d for year translations convert to string for intcomma after
    • 29d37fb Merge pull request #22 from bwoodsend/metric
    • 19726a0 Add humanize.metric() for converting big/small numbers to SI units.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 1
  • Bump humanize from 4.1.0 to 4.2.0

    Bump humanize from 4.1.0 to 4.2.0

    Bumps humanize from 4.1.0 to 4.2.0.

    Release notes

    Sourced from humanize's releases.

    4.2.0

    Added

    Fixed

    Commits
    • 29d37fb Merge pull request #22 from bwoodsend/metric
    • 19726a0 Add humanize.metric() for converting big/small numbers to SI units.
    • 43ebe21 Fix scientific() on small positive numbers.
    • 7688f20 Merge pull request #15 from hugovk/typing
    • f550e98 Fix GHA caching
    • 5641b0e Fix WARNING - griffe: humanize/time.py:104: Parameter 'when' does not appea...
    • dfc69cb Use the new experimental handler instead of the legacy one to fix typing bug
    • 54af2f9 Replace 'int | float' with 'float'
    • c86b138 Replace deprecated typing.Iterable with collections.abc.Iterable
    • 0a86628 Silence PyCharm more generically
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 1
  • Bump library/python from 3.9.9-bullseye to 3.9.10-bullseye

    Bump library/python from 3.9.9-bullseye to 3.9.10-bullseye

    Bumps library/python from 3.9.9-bullseye to 3.9.10-bullseye.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies docker 
    opened by dependabot[bot] 1
  • Bump croniter from 1.1.0 to 1.2.0

    Bump croniter from 1.1.0 to 1.2.0

    Bumps croniter from 1.1.0 to 1.2.0.

    Changelog

    Sourced from croniter's changelog.

    1.2.0 (2022-01-14)

    • Enforce validation for day=1. Before this release we used to support day=0 and it was silently glided to day=1 to support having both day in day in 4th field when it came to have 6fields cron forms (second repeat). It will now raises a CroniterBadDateError. See kiorky/croniter#6 [kiorky]
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 1
  • Bump requests from 2.27.0 to 2.27.1

    Bump requests from 2.27.0 to 2.27.1

    Bumps requests from 2.27.0 to 2.27.1.

    Changelog

    Sourced from requests's changelog.

    2.27.1 (2022-01-05)

    Bugfixes

    • Fixed parsing issue that resulted in the auth component being dropped from proxy URLs. (#6028)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 1
  • Bump croniter from 1.0.15 to 1.1.0

    Bump croniter from 1.0.15 to 1.1.0

    ⚠️ Dependabot is rebasing this PR ⚠️

    Rebasing might not happen immediately, so don't worry if this takes some time.

    Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


    Bumps croniter from 1.0.15 to 1.1.0.

    Changelog

    Sourced from croniter's changelog.

    1.1.0 (2021-12-03)

    • Enforce validation for month=1. Before this release we used to support month=0 and it was silently glided to month=1 to support having both day in month in 4th field when it came to have 6fields cron forms (second repeat). It will now raises a CroniterBadDateError. See kiorky/croniter#6 [kiorky]
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 1
  • Bump library/python from 3.9.15-bullseye to 3.11.1-bullseye

    Bump library/python from 3.9.15-bullseye to 3.11.1-bullseye

    Bumps library/python from 3.9.15-bullseye to 3.11.1-bullseye.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies docker 
    opened by dependabot[bot] 0
  • Bump croniter from 1.3.7 to 1.3.8

    Bump croniter from 1.3.7 to 1.3.8

    Bumps croniter from 1.3.7 to 1.3.8.

    Changelog

    Sourced from croniter's changelog.

    1.3.8 (2022-11-22)

    • Add Python 3.11 support and move docs files to main folder [rafsaf]
    Commits
    • ddbee2c Preparing release 1.3.8
    • 4e4fb5c Merge pull request #27 from rafsaf/python-3-11-and-move-docs
    • 7447fe3 Bump actions/checkout and actions/setup-python in cicd.yml to newset versions
    • e041f64 Python 3.11 support and moved files from docs to main folder
    • 8204e09 Back to development: 1.3.8
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 0
  • Bump tempora from 5.0.2 to 5.1.0

    Bump tempora from 5.0.2 to 5.1.0

    Bumps tempora from 5.0.2 to 5.1.0.

    Changelog

    Sourced from tempora's changelog.

    v5.1.0

    Introduced infer_datetime and added some type hints.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 0
  • Bump docker from 5.0.3 to 6.0.1

    Bump docker from 5.0.3 to 6.0.1

    Bumps docker from 5.0.3 to 6.0.1.

    Release notes

    Sourced from docker's releases.

    6.0.1

    🐛 Bugfixes

    • Fix for The pipe has been ended errors on Windows (#3056)
    • Support floats for timestamps in Docker logs (since / until) (#3031)

    What's Changed

    New Contributors

    Full Changelog: https://github.com/docker/docker-py/compare/6.0.0...6.0.1

    6.0.0

    ℹ️ Upgrade Notes

    • Minimum supported Python version is 3.7+
    • When installing with pip, the docker[tls] extra is deprecated and a no-op, use docker for same functionality (TLS support is always available now)
    • Native Python SSH client (used by default / use_ssh_client=False) will now reject unknown host keys with paramiko.ssh_exception.SSHException
    • Short IDs are now 12 characters instead of 10 characters (same as Docker CLI)
    • Version metadata is now exposed as __version__

    ✨ Features

    • Python 3.10 support
    • Automatically negotiate most secure TLS version
    • Add platform (e.g. linux/amd64, darwin/arm64) to container create & run
    • Add support for GlobalJob and ReplicatedJobs for Swarm
    • Add remove() method on Image
    • Add force param to disable() on Plugin

    🐛 Bugfixes

    • Fix install issues on Windows related to pywin32
    • Do not accept unknown SSH host keys in native Python SSH mode
    • Use 12 character short IDs for consistency with Docker CLI
    • Ignore trailing whitespace in .dockerignore files
    • Fix IPv6 host parsing when explicit port specified
    • Fix ProxyCommand option for SSH connections
    • Do not spawn extra subshell when launching external SSH client
    • Improve exception semantics to preserve context
    • Documentation improvements (formatting, examples, typos, missing params)

    🔧 Miscellaneous

    • Upgrade dependencies in requirements.txt to latest versions
    • Remove extraneous transitive dependencies

    ... (truncated)

    Commits
    • 3002298 socket: handle npipe close on Windows (#3056)
    • bc0a5fb test: use anonymous volume for prune (#3051)
    • 923e067 api: add support for floats to docker logs params since / until (#3031)
    • 1c27ec1 ci: use latest stable syntax for Dockerfiles (#3035)
    • 2494d63 docs: install package in ReadTheDocs build (#3032)
    • e901eac test: add additional tests for cgroupns option (#3024)
    • fc86ab0 swarm: add support for DataPathPort on init (#2987)
    • 45bf9f9 Merge remote-tracking branch 'upstream/main' into patch-1
    • c03aeb6 Merge remote-tracking branch 'upstream/main' into connect-with-mac
    • 58aa62b swarm: add sysctl support for services (#3029)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 0
  • InfluxDB

    InfluxDB

    Hey, i heard that you implement feature requests very quickly! I would like to have support for InfluxDB. If you need help, have a look here, someone has already tried it. Thanks a lot! Feature complete, testing and documentation until the weekend is fast enough 👍🏻

    enhancement 
    opened by foorschtbar 0
Releases(v0.4.0)
  • v0.4.0(May 7, 2022)

    [0.4.0] - 2022-05-05

    Added

    • Open Metrics/Prometheus endpoint
    • Add grace time options to ignore errors on newly started targets

    Changed

    • Updated python version and external dependencies
    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(Nov 6, 2021)

    [0.3.0] - 2021-11-06

    Added

    • Support multiple service instances on the same docker engine
    • Add retention policies to keep multiple versions of dump files.
    • Option to add a timestamp at the end of the dump file. Works also if no retention policy is used.
    • Cleanup old networks that are not removed successfully

    Changed

    • Custom dump file names now follow the same naming rules as docker containers.
    • Add generated base64 suffix to network name to prevent duplicates with docker-compose

    Removed

    • Dropped Support for i386 Architecture
    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Oct 4, 2021)

    [0.2.0] - 2021-10-04

    Added

    • AES Encryption of dump files
    • Support for cron expressions as schedule.
    • Option to create a backup right after start, independent of the schedule.
    • Option to change gzip compression level. Default: 6
    • Option to overwrite the basename of the dump files
    • Options to change the internal network name/target alias

    Changed

    • Rename option INTERVAL to SCHEDULE
    • Rename option VERBOSE to DEBUG

    Fixed

    • Encapsulated user input in double quotes at dump commands
    Source code(tar.gz)
    Source code(zip)
  • v0.1.0(Sep 4, 2021)

Owner
Jan Dittrich
Jan Dittrich
Run Oracle on Kubernetes with El Carro

El Carro is a new project that offers a way to run Oracle databases in Kubernetes as a portable, open source, community driven, no vendor lock-in container orchestration system. El Carro provides a p

Google Cloud Platform 205 Dec 30, 2022
Automatically capture your Ookla Speedtest metrics and display them in a Grafana dashboard

Speedtest All-In-One Automatically capture your Ookla Speedtest metrics and display them in a Grafana dashboard. Getting Started About This Code This

Aaron Melton 2 Feb 22, 2022
A tool to convert AWS EC2 instances back and forth between On-Demand and Spot billing models.

ec2-spot-converter This tool converts existing AWS EC2 instances back and forth between On-Demand and 'persistent' Spot billing models while preservin

jcjorel 152 Dec 29, 2022
A job launching library for docker, EC2, GCP, etc.

doodad A library for packaging dependencies and launching scripts (with a focus on python) on different platforms using Docker. Currently supported pl

Justin Fu 55 Aug 27, 2022
Copy a Kubernetes pod and run commands in its environment

copypod Utility for copying a running Kubernetes pod so you can run commands in a copy of its environment, without worrying about it the pod potential

Memrise 4 Apr 08, 2022
A declarative Kubeflow Management Tool inspired by Terraform

🍭 KRSH is Alpha version, so many bugs can be reported. If you find a bug, please write an Issue and grow the project together! A declarative Kubeflow

Riiid! 128 Oct 18, 2022
RMRK spy bot for RMRK hackathon

rmrk_spy_bot RMRK spy bot https://t.me/RMRKspyBot for rmrk hacktoberfest https://rmrk.devpost.com/ Birds and items price and rarity estimation Reports

Victor Ryabinin 2 Sep 06, 2022
Big data on k8s

# microsoft azure # https://docs.microsoft.com/en-us/cli/azure/install-azure-cli az account set --subscription [] az aks get-credentials --resource-g

Luan Moreno 22 Dec 24, 2022
A simple python application for running a CI pipeline locally This app currently supports GitLab CI scripts

🏃 Simple Local CI Runner 🏃 A simple python application for running a CI pipeline locally This app currently supports GitLab CI scripts ⚙️ Setup Inst

Tom Stowe 0 Jan 11, 2022
Pulumi - Developer-First Infrastructure as Code. Your Cloud, Your Language, Your Way 🚀

Pulumi's Infrastructure as Code SDK is the easiest way to create and deploy cloud software that use containers, serverless functions, hosted services,

Pulumi 14.7k Jan 08, 2023
Ansible Collection: A collection of Ansible Modules and Lookup Plugins (MLP) from Linuxfabrik.

ansible_mlp An Ansible collection of Ansible Modules and Lookup Plugins (MLP) from Linuxfabrik. Ansible Bitwarden Item Lookup Plugin Returns a passwor

Linuxfabrik 2 Feb 07, 2022
a CLI that provides a generic automation layer for assessing the security of ML models

Counterfit About | Getting Started | Learn More | Acknowledgments | Contributing | Trademarks | Contact Us -------------------------------------------

Microsoft Azure 575 Jan 02, 2023
CTF infrastructure deployment automation tool.

CTF infrastructure deployment automation tool. Focus on the challenges. Mirrored from

Fake News 1 Apr 12, 2022
Manage your SSH like a boss.

--- storm is a command line tool to manage your ssh connections. features adding, editing, deleting, listing, searching across your SSHConfig. command

Emre Yılmaz 3.9k Jan 03, 2023
ZeroMQ bindings for Twisted

Twisted bindings for 0MQ Introduction txZMQ allows to integrate easily ØMQ sockets into Twisted event loop (reactor). txZMQ supports both CPython and

Andrey Smirnov 149 Dec 08, 2022
Dynamic DNS service

About nsupdate.info https://nsupdate.info is a free dynamic DNS service. nsupdate.info is also the name of the software used to implement it. If you l

nsupdate.info development 880 Jan 04, 2023
Build Netbox as a Docker container

netbox-docker The Github repository houses the components needed to build Netbox as a Docker container. Images are built using this code and are relea

Farshad Nick 1 Dec 18, 2021
Travis CI testing a Dockerfile based on Palantir's remix of Apache Cassandra, testing IaC, and testing integration health of Debian

Testing Palantir's remix of Apache Cassandra with Snyk & Travis CI This repository is to show Travis CI testing a Dockerfile based on Palantir's remix

Montana Mendy 1 Dec 20, 2021
Bugbane - Application security tools for CI/CD pipeline

BugBane Набор утилит для аудита безопасности приложений. Основные принципы и осо

GardaTech 20 Dec 09, 2022