Coder Social home page Coder Social logo

docker-cron-base's Introduction

Project status

CI/CD on master

HomeCentr - cron-base

This docker image is used as base image for all homecentr images which require a cron scheduler but can also be used on its own. The image executes a mounted script at the specified schedule and reports the results into a Prometheus push-gateway for easy monitoring and alerting.

Usage

version: "3.7"
services:
  cron-base:
    build: .
    image: homecentr/cron-base
    restart: unless-stopped
    environment:
      CRON_SCHEDULE: "* * * * *" # Run script every minute
      PUSH_GATEWAY_URL: "http://push_gateway:9091/metrics/job/cron/label-name/label-value"
    volumes:
      - ./example/success:/cron # must contain cron-tick script

Environment variables

Name Default value Description
PUID 7077 UID of the user the cron-tick script should be running as.
PGID 7077 GID of the group the cron-tick script should be running as.
CRON_SCHEDULE Cron expression which defines when/how often the script will be executed. This variable is mandatory.
PUSH_GATEWAY_URL URL of the push gateway job where the metrics should be reported. The reporting is skipped if the variable is not set.

Exposed ports

The image does not expose any ports.

Volumes

Container path Description
/cron Directory containing the script which should be executed, the script must be named cron-tick.

Security

The container is regularly scanned for vulnerabilities and updated. Further info can be found in the Security tab.

Container user

The container supports privilege drop. Even though the container starts as root, it will use the permissions only to perform the initial set up. The cron-tick script is executed as UID/GID provided in the PUID and PGID environment variables.

โš ๏ธ Do not change the container user directly using the user Docker compose property or using the --user argument. This would break the privilege drop logic.

docker-cron-base's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar lholota avatar

Watchers

 avatar  avatar

Forkers

c20o20

docker-cron-base's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.