better entrypoint, crontab in env
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details

This commit is contained in:
Paolo Asperti 2022-09-20 12:53:35 +02:00
parent ff52dbda78
commit 036592473b
Signed by: paspo
GPG Key ID: 06D46905D19D5182
3 changed files with 34 additions and 1 deletions

View File

@ -3,3 +3,28 @@
[![Build Status](https://drone.asperti.com/api/badges/paspo/docker-python-runner/status.svg)](https://drone.asperti.com/paspo/docker-python-runner)
Base docker container for running python scripts.
## usage
```yaml
version: '3.6'
services:
runner:
image: docker.asperti.com/paspo/python-runner:latest
container_name: python-scripts
restart: unless-stopped
volumes:
- ./scripts:/scripts
- ./logs:/var/log
environment:
CRONTAB: >
*/5 7-22 * * * /scripts/test.py
*/10 7-22 * * * /scripts/test2.py
```
```bash
mkdir scripts logs
touch scripts/test.py && chmod +x scripts/test.py
touch scripts/test2.py && chmod +x scripts/test2.py
docker-compose up -d
```

View File

@ -1,10 +1,13 @@
FROM alpine:3.16
COPY logrotate-cron /etc/logrotate.d
COPY entrypoint.sh /
RUN \
mkdir /scripts /crontabs && \
apk -U add python3 py3-pip py3-requests py3-dateutil py3-beautifulsoup4 logrotate && \
pip3 install fdb mysql-connector-python==8.0.29 telepot caldav
ENTRYPOINT ["/usr/sbin/crond", "-f", "-d8", "-L", "/var/log/cron.log", "-c", "/crontabs"]
ENV CRONTAB=""
ENTRYPOINT ["/bin/sh", "/entrypoint.sh"]

5
docker/entrypoint.sh Executable file
View File

@ -0,0 +1,5 @@
#!/bin/sh
echo "${CRONTAB}" > /crontabs/root
/usr/sbin/crond -f -d8 -L /var/log/cron.log -c /crontabs