Skip to content
A small application to run and schedule Python scripts
CSS Python Vue HTML JavaScript Dockerfile Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

Gatsby

Chronos

A small Docker container to run and schedule Python 3.7 scripts

About

This container is good if you need to run a few or many Python scripts regularly, on a schedule or in response to certain events. The container runs Python 3.7.3 and thus is the interpreter used. Each script will be run in a virtual environment and it DOES support Pip dependencies. If you have access to the config directory, you can also run scripts and small modules bigger than one Python file.

In fact, of you're a bit handy, you can run anything you'd like, since the program simply calls an execute.sh file. In the future, I plan to add support for more scripting languages.

Installation

This program is ONLY available as a Docker container. See section about security for more information.

docker pull simsemand/chronos

And then run:

docker run -p 5000:5000 -v CONFIG_PATH:/chronos simsemand/chronos

Security

This program will run any script that is given to it. It will also accept any script sent to it via the REST API. Therefore, you should always, always, always run the program in the Docker container, as the scripts are NOT sandboxed on execution. You should also think very carefully about mounting any volumes to the container (except the config directory, of course), and if you do, consider putting it in read-only mode. As a final note, you should never expose Chronos to the public internet, unless you are using a reverse-proxy with proper authentication.

Usage

  • Add a new script by pressing the 'Add new' button
  • Give it a name, you can always change the display name later
  • This will take a short while, because it's creating a virtualenv
  • Type in requirements in the proper Pip format
  • Make sure to press the 'Install Pip requirements' button, they are not installed automatically
  • Type in your script
  • Choose an interval time (0 means never)
  • Press save. The button should appear at the top of the screen at all times.

Screenshots

You can find screenshots right here. Please bear in mind, this is dummy early beta.

Bug reporting

If you found a bug, which wouldn't surprise me, please do send me an email at bug-reports@simse.io or better yet, open an issue on GitHub.

You can’t perform that action at this time.