Use the Docker Compose configuration in docker/local-testing/login-protection to test brute-force protection features including IP-based rate limiting, exponential backoff, and user account lockout.
1. Build the Warpgate Image
From the repository root, run:
cd docker/local-testing/login-protection
docker compose build
2. Start the Stack
docker compose up -d
This starts Warpgate and several target services:
- Warpgate: SSH (2222), Admin UI (8888), MySQL (33306), PostgreSQL (55432)
- Echo Server: 3000
- SSH Target: 2223
- MySQL Target: 3306
- PostgreSQL Target: 5432
3. Initialize Warpgate
Run the setup command inside the container:
docker exec -it warpgate-login-protection warpgate setup
Alternatively, run with an admin token enabled:
docker exec -it warpgate-login-protection warpgate run --enable-admin-token
4. Access Admin UI
Open https://localhost:8888 and use the credentials created during setup.
cd docker/local-testing/login-protection
docker compose build
docker compose up -d
docker exec -it warpgate-login-protection warpgate setup