<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Docker Compose to .env Converter</title> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="bg-gray-100 min-h-screen flex flex-col items-center py-10"> <div class="w-full max-w-2xl bg-white rounded-lg shadow-md p-6"> <h1 class="text-2xl font-bold text-gray-800 mb-4">Docker Compose to .env Converter</h1> <textarea id="input" class="w-full h-48 border border-gray-300 rounded-md p-3 focus:ring-2 focus:ring-blue-500 focus:outline-none mb-4" placeholder="Paste your docker-compose.yml snippet here..."></textarea> <button id="convertBtn" class="bg-blue-500 text-white px-4 py-2 rounded-md hover:bg-blue-600 focus:ring-2 focus:ring-blue-500 focus:outline-none">Convert to .env</button> <textarea id="output" class="w-full h-48 border border-gray-300 rounded-md p-3 focus:ring-2 focus:ring-blue-500 focus:outline-none mt-4" placeholder="Converted .env variables will appear here..." readonly></textarea> </div> <script> document.getElementById('convertBtn').addEventListener('click', () => { const input = document.getElementById('input').value; const output = document.getElementById('output'); try { // Extract the environment section from the input const environmentRegex = /environment:\n((?:\s+.+:.+\n)+)/; const match = input.match(environmentRegex); if (!match) { output.value = 'No valid environment variables found!'; return; } const environmentBlock = match[1]; // Convert YAML format to .env format const lines = environmentBlock.split('\n').filter(line => line.trim() !== ''); const envVariables = lines.map(line => { const [key, value] = line.trim().split(/:\s+/); return `${key}=${value.replace(/"/g, '')}`; }); output.value = envVariables.join('\n'); } catch (error) { output.value = 'Error processing input. Please check your input format.'; } }); </script> </body> </html>