Files
docs-public/projects/homelab/diagrams.md
wompmacho 592b5a24db
All checks were successful
deploy-docs / build-and-deploy (push) Successful in 43s
updating diagram with a fullscreen button and better formating
2026-06-06 22:14:32 +00:00

5.4 KiB

title, description, showHero, showEditURL, author, date, lastmod, tags
title description showHero showEditURL author date lastmod tags
Infrastructure Diagrams My Home Network Overview false true wompmacho 2023-07-04 05:33:31.158000+00:00 2026-04-12
homelab
infrastructure
network

← Back to Homelab Infrastructure


2026 Home lab

{{< rawhtml >}}

Fullscreen
<style> #homelabel-frame { display: block !important; flex-shrink: 0 !important; } /* Regular view wrapper: standard, safe layout rules */ #wrapper-target { overflow: hidden !important; position: relative !important; } /* Fullscreen Container Engine */ #homelabel-container:fullscreen { width: 100vw !important; height: 100vh !important; height: 100dvh !important; border-radius: 0 !important; padding: 24px !important; box-sizing: border-box !important; background: #1e1e1e !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important; } /* Fullscreen Wrapper: Converts to a flex centering field ONLY when fullscreen */ #homelabel-container:fullscreen #wrapper-target { width: 100% !important; flex: 1 !important; height: auto !important; display: flex !important; justify-content: center !important; align-items: center !important; } </style> <script> document.getElementById('homelabel-frame').addEventListener('load', function() { const iframe = this; const wrapper = document.getElementById('wrapper-target'); const container = document.getElementById('homelabel-container'); const fsButton = document.getElementById('fullscreen-btn'); function scaleIframe() { const targetWidth = wrapper.offsetWidth; const targetHeight = wrapper.offsetHeight; const screenWidth = window.innerWidth; if (targetWidth === 0 || targetHeight === 0) return; // Base layout breakpoints let virtualWidth = 1400; if (screenWidth < 768) { virtualWidth = 480; } else if (screenWidth < 1200) { virtualWidth = 900; } let virtualHeight = 950; let scale; // FIX: Isolate calculation parameters and transform origins per state if (document.fullscreenElement) { const scaleX = targetWidth / virtualWidth; const scaleY = targetHeight / virtualHeight; scale = Math.min(scaleX, scaleY); iframe.style.transformOrigin = 'center center'; } else { // Safe standard inline calculations scale = targetWidth / virtualWidth; virtualHeight = targetHeight / scale; iframe.style.transformOrigin = 'top left'; } // Apply transformations if (scale < 1) { iframe.style.width = virtualWidth + 'px'; iframe.style.height = virtualHeight + 'px'; iframe.style.transform = `scale(${scale})`; } else { iframe.style.width = '100%'; iframe.style.height = '100%'; iframe.style.transform = 'none'; } } // --- FULLSCREEN INTERACTION CONTROLS --- fsButton.addEventListener('click', () => { if (!document.fullscreenElement) { container.requestFullscreen().catch(err => { console.error(`Error attempting to enable fullscreen: ${err.message}`); }); fsButton.querySelector('span').textContent = 'Exit'; } else { document.exitFullscreen(); fsButton.querySelector('span').textContent = 'Fullscreen'; } }); document.addEventListener('fullscreenchange', () => { if (!document.fullscreenElement) { fsButton.querySelector('span').textContent = 'Fullscreen'; } setTimeout(scaleIframe, 75); }); scaleIframe(); window.addEventListener('resize', () => { setTimeout(scaleIframe, 50); }); }); </script>

{{< /rawhtml >}}


2024 Home Lab

sc_apartment_network_diagram_2024.png


2023 Home Lab

sc_apartment_network_diagram_nov_2023.png


2020 Home Lab

nc_home_network_diagram_white_background_2020.jpg


2019 Home Lab

atl_home_network_2019.jpg