Add Coolify deployment configuration

This commit is contained in:
2025-07-07 21:42:30 +02:00
parent 587870e5f6
commit 0232cd0c20
8 changed files with 731 additions and 48 deletions

View File

@ -12,15 +12,23 @@
<nav class="navbar">
<div class="nav-container">
<div class="nav-logo">
<h1>{{.CompanyName}}</h1>
<h1><a href="/">Hogeland Linux</a></h1>
</div>
<div class="nav-links">
<a href="/">Home</a>
<a href="/contact">Contact</a>
<a href="#services">Diensten</a>
<a href="#distros">Distributies</a>
</div>
<button class="mobile-menu-toggle" onclick="toggleMobileMenu()">
<span></span>
</button>
<div class="mobile-menu" id="mobile-menu">
<a href="/">Home</a>
<a href="/contact">Contact</a>
<a href="#services">Diensten</a>
<a href="#distros">Distributies</a>
</div>
<ul class="nav-links">
<li><a href="#home">Home</a></li>
<li><a href="#voordelen">Voordelen</a></li>
<li><a href="#distros">Linux Keuze</a></li>
<li><a href="#diensten">Diensten</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</div>
</nav>
</header>
@ -394,5 +402,89 @@
</div>
</div>
</footer>
<script>
function toggleMobileMenu() {
const mobileMenu = document.getElementById('mobile-menu');
mobileMenu.classList.toggle('active');
}
// Close mobile menu when clicking outside
document.addEventListener('click', function(event) {
const mobileMenu = document.getElementById('mobile-menu');
const menuToggle = document.querySelector('.mobile-menu-toggle');
if (!mobileMenu.contains(event.target) && !menuToggle.contains(event.target)) {
mobileMenu.classList.remove('active');
}
});
// Close mobile menu when clicking on a link
document.querySelectorAll('.mobile-menu a').forEach(link => {
link.addEventListener('click', function() {
document.getElementById('mobile-menu').classList.remove('active');
});
});
// Terminal animation
const terminalBody = document.querySelector('.terminal-body');
const lines = [
{ type: 'prompt', content: 'ainrommer@computer ~ $' },
{ type: 'command', content: 'neofetch', delay: 1000 },
{ type: 'output', content: '\n .-/+oossssoo+/-.\n .:+ssssssssssssssss+:.\n -+ssssssssssssssssssss+-\n -+ssssssssssssssssssssss+-\n -+ssssssssssssssssssssss+-\n -+ssssssssssssssssssssss+-\n -+ssssssssssssssssssssss+-\n -+ssssssssssssssssssssss+-\n -+ssssssssssssssssssssss+-\n-+ssssssssssssssssssssss+-\n`-+ssssssssssssssssssss+-`\n `-+ssssssssssssssssss+-`\n `-+ssssssssssssssss+-`\n `-+ssssssssssssss+-`\n `-+ssssssssssss+-`\n `-+ssssssssss+-`\n `-+ssssssss+-`\n `-+ssssss+-`\n `-+ssss+-`\n `-+ss+-`\n `-+s+-`\n `-+-`\n ``\nOS: Arch Linux x86_64\nKernel: 6.6.8-arch1-1\nUptime: 3 hours, 42 mins\nPackages: 1337 (pacman)\nShell: zsh 5.9\nResolution: 1920x1080\nDE: KDE Plasma 5.27.10\nWM: KWin\nWM Theme: Breeze\nTheme: Breeze Dark [Plasma], Breeze [GTK2/3]\nIcons: Breeze Dark [Plasma], breeze-dark [GTK2/3]\nTerminal: konsole\nCPU: AMD Ryzen 7 5800X (16) @ 3.800GHz\nGPU: NVIDIA GeForce RTX 3070\nMemory: 2847MiB / 32768MiB', delay: 2000 },
{ type: 'prompt', content: 'ainrommer@computer ~ $' },
{ type: 'command', content: 'sudo pacman -Syu', delay: 3000 },
{ type: 'output', content: ':: Synchronizing package databases...\n core 174.7 KiB 623 KiB/s 00:00 [######################] 100%\n extra 1744.4 KiB 1234 KiB/s 00:01 [######################] 100%\n multilib 193.9 KiB 567 KiB/s 00:00 [######################] 100%\n:: Starting full system upgrade...\n:: Replace gtk4 with extra/gtk4? [Y/n] y\nthere is nothing to do', delay: 4000 },
{ type: 'prompt', content: 'ainrommer@computer ~ $' },
{ type: 'cursor', content: '', delay: 5000 }
];
function typeWriter(text, element, speed = 50) {
return new Promise((resolve) => {
let i = 0;
const timer = setInterval(() => {
if (i < text.length) {
element.textContent += text.charAt(i);
i++;
} else {
clearInterval(timer);
resolve();
}
}, speed);
});
}
function animateTerminal() {
terminalBody.innerHTML = '';
let currentDelay = 0;
lines.forEach((line, index) => {
setTimeout(() => {
const lineElement = document.createElement('div');
lineElement.className = 'terminal-line';
if (line.type === 'prompt') {
lineElement.innerHTML = '<span class="prompt">' + line.content + '</span>';
} else if (line.type === 'command') {
lineElement.innerHTML = '<span class="prompt">ainrommer@computer ~ $ </span><span class="command">' + line.content + '</span>';
} else if (line.type === 'output') {
lineElement.innerHTML = '<span class="output">' + line.content + '</span>';
} else if (line.type === 'cursor') {
lineElement.innerHTML = '<span class="prompt">ainrommer@computer ~ $ </span><span class="cursor">█</span>';
}
terminalBody.appendChild(lineElement);
terminalBody.scrollTop = terminalBody.scrollHeight;
}, currentDelay);
currentDelay += line.delay || 0;
});
}
// Start animation when page loads
window.addEventListener('load', () => {
setTimeout(animateTerminal, 1000);
});
</script>
</body>
</html>