A simple python script scheduler with a shared local key-value database. Meant to enable easy automation and integration of infrastructure and systems. Like cron, but with more bells and whistles.
There are two ways to deploy gluetube.
- docker
- virtual machine / bare metal
docker volume create gluetube-cfg
docker volume create gluetube-db
docker run -d --init --name gluetube -v gluetube-cfg:/home/gluetube/.gluetube/etc -v gluetube-db:/home/gluetube/.gluetube/db ctomkow/gluetube
docker exec -it gluetube bash
gt db --rekey
docker restart gluetube
adduser gluetube
pip install --user gluetube
gt --configure
gt db --init
gt daemon --background
gt db --rekey
gt daemon --stop
gt daemon --background
gt --help
gt summary
gt schedule 1 --now
You are meant to develop your own pipelines in python for gluetube. The following is a brief description of how to get your development environment setup. These instructions assume you use VS code and docker.
-
docker pull ctomkow/gluetube
-
docker volume create gluetube-db
-
docker volume create gluetube-cfg
-
docker run -itd --name gluetube --net=host -v gluetube-db:/home/gluetube/.gluetube/db -v gluetube-cfg:/home/gluetube/.gluetube/etc ctomkow/gluetube:latest
-
Open VS code. In the docker-> containers section, right-click on the running gluetube container and
attach visual studio code
to running container. -
Within the container terminal, enter the pipelines directory.
cd pipelines
-
Clone a repository.
git clone <url> .
Note the.
at the end of the git clone. This is important because we don't want the project folder as a subdirectory. -
Now you can develop your pipelines (.py files) while having a live gluetube daemon running within the container. All the gluetube cli commands are available to test out your pipeline code in a production-like environment.
gt --help