Files
michaelschiemer/tests/debug/test-homepage-qrcode.php
Michael Schiemer 95147ff23e refactor(deployment): Remove WireGuard VPN dependency and restore public service access
Remove WireGuard integration from production deployment to simplify infrastructure:
- Remove docker-compose-direct-access.yml (VPN-bound services)
- Remove VPN-only middlewares from Grafana, Prometheus, Portainer
- Remove WireGuard middleware definitions from Traefik
- Remove WireGuard IPs (10.8.0.0/24) from Traefik forwarded headers

All monitoring services now publicly accessible via subdomains:
- grafana.michaelschiemer.de (with Grafana native auth)
- prometheus.michaelschiemer.de (with Basic Auth)
- portainer.michaelschiemer.de (with Portainer native auth)

All services use Let's Encrypt SSL certificates via Traefik.
2025-11-05 12:48:25 +01:00

54 lines
1.7 KiB
PHP

<?php
declare(strict_types=1);
require_once __DIR__ . '/../../vendor/autoload.php';
use App\Framework\QrCode\QrCodeGenerator;
use App\Framework\QrCode\QrCodeRenderer;
use App\Framework\QrCode\ValueObjects\ErrorCorrectionLevel;
use App\Framework\QrCode\ValueObjects\QrCodeStyle;
$testUrl = 'https://localhost/';
echo "Testing QR Code for: {$testUrl}\n\n";
try {
$renderer = new QrCodeRenderer();
$generator = new QrCodeGenerator($renderer);
// Generate with default style
$dataUri = $generator->generateDataUri($testUrl);
echo "✅ QR Code generated successfully\n";
echo "Data URI length: " . strlen($dataUri) . " characters\n\n";
// Generate with larger style for better scanning
$largeStyle = QrCodeStyle::large();
$largeSvg = $generator->generateSvg($testUrl, ErrorCorrectionLevel::M, null);
$largeDataUri = $renderer->toDataUrl(
\App\Framework\QrCode\QrCodeGenerator::generate($testUrl),
$largeStyle
);
echo "✅ Large QR Code generated\n";
echo "Large Data URI length: " . strlen($largeDataUri) . " characters\n\n";
// Save SVG for inspection
$svgFile = __DIR__ . '/homepage-qrcode.svg';
file_put_contents($svgFile, $largeSvg);
echo "SVG saved to: {$svgFile}\n\n";
echo "Recommendations:\n";
echo "1. Use larger module size (20px instead of 10px)\n";
echo "2. Ensure quiet zone is 4 modules (already default)\n";
echo "3. Test with multiple QR code scanner apps\n";
echo "4. Check if SVG is rendering correctly in browser\n";
} catch (\Exception $e) {
echo "ERROR: " . $e->getMessage() . "\n";
echo "Trace:\n" . $e->getTraceAsString() . "\n";
}