Browser automation to report 8 hours to your default project every day at 17:00.
- No support for project selection (uses default)
- Hardcoded schedule (17:00)
- Only supports username/password authentication
Pull requests to address these limitations are welcome.
- Clone the repository:
git clone https://github.com/mtyszkiewicz/tomhrm-autoreporting.git
cd tomhrm-autoreporting- Configure credentials:
Create a
.envfile in the root directory:
TOMHRM_USERNAME=your@email.com
TOMHRM_PASSWORD=yourpassword
TOMHRM_WORKSPACE=your-workspace-name- Run:
docker compose up -dThe script uses Apprise to notify you on failures (e.g., unexpected 2FA or layout changes).
To enable Telegram notifications, add these to your .env file:
TELEGRAM_BOT_TOKEN=yourbottoken
TELEGRAM_CHAT_ID=111222333444Use this setup to run the script manually or contribute code.
- Install Dependencies
Using uv:
uv sync
playwright install firefoxUsing poetry:
poetry install
playwright install firefox- Set Environment Variables
Export these manually or use direnv:
export TOMHRM_USERNAME="your@email.com"
export TOMHRM_PASSWORD="yourpassword"
export TOMHRM_WORKSPACE="your-workspace-name" - Usage
# Run once immediately
python3 main.py
# Run with browser visible (debug mode)
python3 main.py --headed
# Run on schedule (loop forever)
python3 main.py --schedule
# Save screenshots on error
python3 main.py --screenshot-dir ./screenshots