<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cyberian on The Cyberian</title><link>https://the-cyberian.com/</link><description>Recent content in Cyberian on The Cyberian</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 14 May 2026 15:41:02 -0700</lastBuildDate><atom:link href="https://the-cyberian.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Proxmox</title><link>https://the-cyberian.com/posts/proxmox/</link><pubDate>Thu, 14 May 2026 15:41:02 -0700</pubDate><guid>https://the-cyberian.com/posts/proxmox/</guid><description>&lt;h2 id="introduction"&gt;Introduction:&lt;/h2&gt;
&lt;p&gt;As I continue to grow my homelab, I&amp;rsquo;m realizing the importance of creating isolated environments for testing purposes. This requires the ability to run one operating system within another, which is feasible on a Ubuntu sesrver with Docker. However, it would be beneficial to utilize a dedicated virtualization platform (also known as a Hypervisor).&lt;/p&gt;
&lt;h2 id="benefits"&gt;BENEFITS:&lt;/h2&gt;
&lt;p&gt;We&amp;rsquo;re seeking virtualization for several compelling reasons:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Process Isolation: We prefer each component we work on to be self-contained and separate, just like with Docker. However, Docker still relies on the operating system&amp;rsquo;s kernel resources and may not provide complete isolation. With virtualization, we can choose any operating system we desire.&lt;/li&gt;
&lt;li&gt;Network Isolation: While Docker has network isolation capabilities, they are not as robust or capable as those of a virtualization platform. For sandboxing purposes, we want full isolation, with no communication with other components.&lt;/li&gt;
&lt;li&gt;Operating System Snapshots: Virtualization allows us to take snapshots of the entire operating system at specific points in time and roll back whenever necessary. This is ideal for tinkering and experimenting without worrying about data loss or corruption.&lt;/li&gt;
&lt;li&gt;High Availability: Docker is not designed for high availability, as it requires the machine to be running continuously. A virtualization platform, on the other hand, can provide high availability by allowing services to continue running even when the machine is turned off.&lt;/li&gt;
&lt;li&gt;Emulation: Virtualization allows us to run packages designed for one architecture (e.g., ARM) on a different platform (e.g., x86), which is not possible with Docker.&lt;/li&gt;
&lt;li&gt;Easy Backups: With virtualization, we have access to tools that enable easy and robust backups of the entire operating system, making it simpler to replicate and maintain our environments.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="installing"&gt;Installing&lt;/h2&gt;
&lt;p&gt;Get the ISO
Here it is! Current version is &lt;strong&gt;Proxmox VE 8.2 ISO Installer&lt;/strong&gt; as of the writing of this guide.&lt;/p&gt;</description></item><item><title>About</title><link>https://the-cyberian.com/about/</link><pubDate>Tue, 12 May 2026 16:31:24 -0700</pubDate><guid>https://the-cyberian.com/about/</guid><description>&lt;p&gt;The Cyberian discuses topics on Self-Hosing, Proxmox, and docker.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://the-cyberian.com/about.jpg" alt="stopping hackers"&gt;&lt;/p&gt;</description></item><item><title>Contact</title><link>https://the-cyberian.com/contact/</link><pubDate>Tue, 12 May 2026 16:31:24 -0700</pubDate><guid>https://the-cyberian.com/contact/</guid><description>&lt;p&gt;&lt;img src="https://the-cyberian.com/contact.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;You can reach me at &lt;a href="mailto:info@the-cyberian.com"&gt;info@the-cyberian.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>MC Server Status</title><link>https://the-cyberian.com/test/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://the-cyberian.com/test/</guid><description>&lt;div class="center"&gt;
&lt;div class="md-card"&gt;
 &lt;div class="md-card-header"&gt;
 &lt;h3 class="md-title"&gt;Server Status&lt;/h3&gt;
 &lt;span class="md-subtitle"&gt;https://mc.the-cyberian.com&lt;/span&gt;
 &lt;/div&gt;
 
 &lt;div id="minecraft-display" class="md-loading"&gt;
 
 &lt;div class="md-spinner"&gt;&lt;/div&gt;
 &lt;span&gt;Checking server...&lt;/span&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
	.center{
		max-width: 100%;
		 display: flex;
 justify-content: center; 
 align-items: center; 

		
	}
 
 .md-card {
 --md-surface: #f7f9ff; 
 --md-on-surface: #1a1c1e; 
 --md-primary: #0061a4; 
 --md-primary-container: #d1e4ff; 
 --md-on-primary-container: #001d36;
 --md-error: #ba1a1a;
 --md-outline: #73777f;
 
 background: var(--md-surface);
 color: var(--md-on-surface);
 font-family: 'Roboto', system-ui, -apple-system, sans-serif;
 padding: 1.5rem;
 border-radius: 16px; 
 min-width: 360px;
 max-width: 360px;
 
 box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15), 0px 1px 2px 0px rgba(0, 0, 0, 0.30);
 
 transition: box-shadow 200ms ease;
 }

 
 @media (prefers-color-scheme: dark) {
 .md-card {
 --md-surface: #111318;
 --md-on-surface: #e2e2e6;
 --md-primary: #9ecaef;
 --md-primary-container: #00497d;
 --md-on-primary-container: #d1e4ff;
 --md-error: #ffb4ab;
 --md-outline: #8c9199;
 box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.3), 0px 2px 6px 2px rgba(0, 0, 0, 0.15);
 }
 }

 .md-card-header {
 margin-bottom: 1.25rem;
 }
 .md-title { 
 margin: 0; 
 font-size: 1.35rem; 
 font-weight: 500; 
 letter-spacing: 0.15px;
 }
 .md-subtitle {
 font-size: 0.85rem;
 color: var(--md-outline);
 letter-spacing: 0.25px;
 }

 
 .md-badge-container {
 display: flex;
 align-items: center;
 justify-content: space-between;
 background: var(--md-primary-container);
 color: var(--md-on-primary-container);
 padding: 0.75rem 1rem;
 border-radius: 12px;
 font-weight: 500;
 font-size: 0.95rem;
 }
 .md-count {
 font-size: 1.2rem;
 font-weight: 700;
 }

 
 .md-list-title {
 font-size: 0.75rem;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: 0.5px;
 margin: 1rem 0 0.5rem 0;
 color: var(--md-primary);
 }
 .md-list { 
 list-style: none;
 padding: 0;
 margin: 0;
 }
 .md-list li { 
 padding: 0.6rem 0.75rem;
 margin-bottom: 0.25rem;
 background: rgba(0, 0, 0, 0.03);
 border-radius: 8px;
 font-size: 0.9rem;
 display: flex;
 align-items: center;
 }
 
 .md-list li::before {
 content: "";
 display: inline-block;
 width: 8px;
 height: 8px;
 background: var(--md-primary);
 border-radius: 50%;
 margin-right: 0.75rem;
 }

 
 .md-loading, .md-error {
 display: flex;
 align-items: center;
 gap: 1rem;
 font-size: 0.9rem;
 }
 .md-error { color: var(--md-error); }
 
 .md-spinner {
 width: 20px;
 height: 20px;
 border: 2.5px solid var(--md-outline);
 border-top-color: var(--md-primary);
 border-radius: 50%;
 animation: md-spin 800ms linear infinite;
 }
 @keyframes md-spin { to { transform: rotate(360deg); } }
&lt;/style&gt;

&lt;script&gt;
 async function updateMaterialStatus() {
 const display = document.getElementById('minecraft-display');
 const apiUrl = 'https://mc.the-cyberian.com/api/online';

 try {
 const response = await fetch(apiUrl);
 if (!response.ok) throw new Error(`HTTP ${response.status}`);
 const data = await response.json();
 
 
 let htmlOutput = `
 &lt;div class="md-badge-container"&gt;
 &lt;span&gt;Active Players&lt;/span&gt;
 &lt;span class="md-count"&gt;${data.count}&lt;/span&gt;
 &lt;/div&gt;
 `;

 if (data.count &gt; 0 &amp;&amp; data.players.length &gt; 0) {
 htmlOutput += `&lt;div class="md-list-title"&gt;Current Lobby&lt;/div&gt;`;
 htmlOutput += `&lt;ul class="md-list"&gt;`;
 data.players.forEach(player =&gt; {
 const safeName = player.replace(/&lt;/g, "&amp;lt;").replace(/&gt;/g, "&amp;gt;");
 htmlOutput += `&lt;li&gt;${safeName}&lt;/li&gt;`;
 });
 htmlOutput += `&lt;/ul&gt;`;
 }

 display.className = '';
 display.innerHTML = htmlOutput;

 } catch (error) {
 console.error(error);
 display.className = 'md-error';
 display.innerHTML = `
 &lt;svg width="20" height="20" fill="currentColor" viewBox="0 0 16 16"&gt;&lt;path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 4a.905.905 0 0 0-.9.995l.35 3.507a.552.552 0 0 0 1.1 0l.35-3.507A.905.905 0 0 0 8 4zm.002 6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"/&gt;&lt;/svg&gt;
 &lt;span&gt;Offline or unreachable&lt;/span&gt;`;
 }
 }

 window.addEventListener('DOMContentLoaded', () =&gt; {
 updateMaterialStatus();
 setInterval(updateMaterialStatus, 60000);
 });
&lt;/script&gt;</description></item></channel></rss>