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.
54 lines
1.7 KiB
PHP
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";
|
|
}
|
|
|
|
|