Aldi Talk Booker
I developed an automated solution for managing german budget carrier Aldi Talks "unlimited" data plans, available as a containerized application.
Aldi Talk's new "unlimited" data plans come with a catch: after consuming your initial data volume, you must manually open their app/website and press a button to unlock the next gigabyte. This is done to prevent abuse of the unlimited data plans by people using that as a replacement for their home internet connection. This process can be repeated indefinitely, but requires constant manual intervention. Because I'm too lazy to do that, I programmed this tool to do it automatically.
The project runs continuously in a Docker container, automatically monitors your data usage 24/7 and books additional gigabytes when needed. When the volume is extended, a nicely formatted Telegram notification is sent.

Features
Volume Monitoring
The application continuously monitors your remaining data volume by logging into your Aldi Talk account via web automation. When your remaining volume drops below 1GB, it automatically triggers the booking process to add another gigabyte. In contrast to other solutions, this one stores the browser context so that it doesn't have to log in again and again; only for the initial login and when the session expires.
Smart Sleep Calculation
Rather than checking constantly, the system calculates when to check next based on your current remaining volume and plan speed (50/100/150 Mbps). This reduces unnecessary requests to the server. Aside from that the sleep time is randomized a little bit to avoid detection.
Telegram Notifications
Optional Telegram bot integration sends real-time notifications when volume is extended, including current remaining volume and time until next check. If errors occur, a notification is sent as well.
Logging
All actions are logged to log files in a folder location specified in the docker configuration. Logs are rotated daily and only the last 7 days are kept.
Docker Containerization
Fully containerized with Docker for easy deployment on any system. I personally run it on my home server in Portainer.
Tech Stack
Web Automation
The core functionality uses Playwright with Firefox for reliable web automation. Chrome didn't work reliably in Docker environments for me, so I simply switched to Firefox.
Technologies
Built with TypeScript for type safety and maintainability. Key dependencies include:
- Playwright: Web automation for interacting with Aldi Talk's web interface
- Winston: Comprehensive logging with daily log rotation
- Telegram Bot API: Real-time notifications
- tsx: TypeScript execution for the Node.js runtime
Hosting
Designed to run continuously in Docker containers. Can be deployed on any Docker-compatible system including:
- Docker Compose for local development
- Portainer for container management
- Any VPS with Docker support
The application runs as a single container with persistent volume for logs.
Here is what it looks like in my home server Portainer:
services:
aldi-talk-after-booker:
image: clemwo/aldi-talk-booker:latest
container_name: aldi-talk-booker
environment:
- ALDI_TALK_LOGIN=${ALDI_TALK_LOGIN}
- ALDI_TALK_PASSWORD=${ALDI_TALK_PASSWORD}
- TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN}
- TELEGRAM_CHAT_ID=${TELEGRAM_CHAT_ID}
volumes:
- ${DOCKER_CONFIG_DIR}/aldi-talk-booker/logs:/app/logs
networks:
- default
restart: unless-stopped
networks:
default:
name: homeserver_network
external: true