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
Chartreuse: Automated Alembic migrations within kubernetes

Chartreuse: Automated Alembic SQL schema migrations within kubernetes "How to automate management of Alembic database schema migration at scale using

Wiremind 8 Oct 25, 2022
Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:

Latest Salt Documentation Open an issue (bug report, feature request, etc.) Salt is the world’s fastest, most intelligent and scalable automation engi

SaltStack 12.9k Jan 04, 2023
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
Kubediff: a tool for Kubernetes to show differences between running state and version controlled configuration.

Kubediff: a tool for Kubernetes to show differences between running state and version controlled configuration.

Weaveworks 1.1k Dec 30, 2022
Docker Container wallstreetbets-sentiment-analysis

Docker Container wallstreetbets-sentiment-analysis A docker container using restful endpoints exposed on port 5000 "/analyze" to gather sentiment anal

145 Nov 22, 2022
Hatch plugin for Docker containers

hatch-containers CI/CD Package Meta This provides a plugin for Hatch that allows

Ofek Lev 11 Dec 30, 2022
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
gunicorn 'Green Unicorn' is a WSGI HTTP Server for UNIX, fast clients and sleepy applications.

Gunicorn Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX. It's a pre-fork worker model ported from Ruby's Unicorn project. The Gunicorn

Benoit Chesneau 8.7k Jan 08, 2023
Oncall is a calendar tool designed for scheduling and managing on-call shifts. It can be used as source of dynamic ownership info for paging systems like http://iris.claims.

Oncall See admin docs for information on how to run and manage Oncall. Development setup Prerequisites Debian/Ubuntu - sudo apt-get install libsasl2-d

LinkedIn 928 Dec 22, 2022
GitGoat enables DevOps and Engineering teams to test security products intending to integrate with GitHub

GitGoat is an open source tool that was built to enable DevOps and Engineering teams to design and implement a sustainable misconfiguration prevention strategy. It can be used to test with products w

Arnica 149 Dec 22, 2022
Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems.

Glances - An eye on your system Summary Glances is a cross-platform monitoring tool which aims to present a large amount of monitoring information thr

Nicolas Hennion 22k Jan 08, 2023
Some automation scripts to setup a deployable development database server (with docker).

Postgres-Docker Database Initializer This is a simple automation script that will create a Docker Postgres database with a custom username, password,

Pysogge 1 Nov 11, 2021
Phonebook application to manage phone numbers

PhoneBook Phonebook application to manage phone numbers. How to Use run main.py python file. python3 main.py Links Download Source Code: Click Here M

Mohammad Dori 3 Jul 15, 2022
Simple, Pythonic remote execution and deployment.

Welcome to Fabric! Fabric is a high level Python (2.7, 3.4+) library designed to execute shell commands remotely over SSH, yielding useful Python obje

Fabric 13.8k Jan 06, 2023
Deploying a production-ready Django project using Nginx and Gunicorn

django-nginx-gunicorn This project is for deploying a production-ready Django project using Nginx and Gunicorn. Running a local server of Django is no

Arash Sayareh 8 Jul 03, 2022
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
This Docker container is build to run on a server an provide an easy to use interface for every student to vote for their councilors

This Docker container is build to run on a server and provide an easy to use interface for every student to vote for their councilors.

Robin Adelwarth 7 Nov 23, 2022
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
Daemon to ban hosts that cause multiple authentication errors

__ _ _ ___ _ / _|__ _(_) |_ ) |__ __ _ _ _ | _/ _` | | |/ /| '_ \/ _` | ' \

Fail2Ban 7.8k Jan 09, 2023
DC/OS - The Datacenter Operating System

DC/OS - The Datacenter Operating System The easiest way to run microservices, big data, and containers in production. What is DC/OS? Like traditional

DC/OS 2.3k Jan 06, 2023