Docker VM to centralize gtimelog report generation
Go to file
tobiasd 8c56f65a20
All checks were successful
continuous-integration/drone/push Build is passing
Merge pull request 'Update debian Docker tag to v20250203' (#27) from renovate/debian-20250203.x into main
Reviewed-on: #27
2025-02-10 09:14:38 +00:00
LICENSES remove MIT license 2024-02-23 11:25:17 +01:00
.drone.yml use activities 2025-01-20 18:19:57 +01:00
docker-compose.yml use activities 2025-01-20 18:19:57 +01:00
Dockerfile Update debian Docker tag to v20250203 2025-02-07 00:58:27 +00:00
README.md add minor fixes 2024-05-22 10:52:56 +02:00
renovate.json fix renovate 2024-05-22 11:32:57 +02:00
renovate.json.license Initial commit 2024-01-23 13:28:31 +00:00
report.sh use activities 2025-01-20 18:19:57 +01:00

At FSFE, each staff member used to send weekly timelog reports to a council via email. This instance has been created to automate this process.

Automation Steps

The process consists of several steps:

  1. A dedicated account on our Nextcloud is created, that has access to the timelog.txt files of all staff members.

  2. This account is mounted in a Docker container with help of davfs2.

  3. In the Docker build process, report.sh file is copied into the container. Additionally, gtimelog-utils is cloned so that weekly.py can be used. See the Dockerfile.

  4. Drone builds the container through Docker-Compose using the Drone Secrets.

  5. Every Monday at 02:00, report.sh is executed, applying weekly.py to all timelog.txt files and generating the report from two weeks ago for each staff member. The cron job is set in drone settings.

Run Localy

Docker-compose wants to have the following environment variables:

NEXTCLOUD_URL NEXTCLOUD_USERNAME NEXTCLOUD_PASSWORD

You can either store the values in Drone Secrets or create an .env file for this purpose.