<!-- CANARY: REQ=REQ-DOCS-001; FEATURE="Docs"; ASPECT=Documentation; STATUS=TESTED; OWNER=docs; UPDATED=2026-01-15 --> <p>Installing Geode involves obtaining source code, installing build dependencies, compiling the database server, and deploying it to target environments. This comprehensive guide covers installation across different platforms, from development environments to production deployments, ensuring reliable operation of your GQL-compliant graph database.</p> <h3 id="installation-overview" class="position-relative d-flex align-items-center group"> <span>Installation Overview</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="installation-overview" aria-haspopup="dialog" aria-label="Share link: Installation Overview"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><div id="headingShareModal" class="heading-share-modal" role="dialog" aria-modal="true" aria-labelledby="headingShareTitle" hidden> <div class="hsm-dialog" role="document"> <div class="hsm-header"> <h2 id="headingShareTitle" class="h6 mb-0 fw-bold">Share this section</h2> <button type="button" class="hsm-close" aria-label="Close"> <i class="fa-solid fa-xmark"></i> </button> </div> <div class="hsm-body"> <label for="headingShareInput" class="form-label small text-muted mb-1 text-uppercase fw-bold" style="font-size: 0.7rem; letter-spacing: 0.5px;">Permalink</label> <div class="input-group mb-4 hsm-url-group"> <input id="headingShareInput" type="text" class="form-control font-monospace" readonly aria-readonly="true" style="font-size: 0.85rem;" /> <button class="btn btn-primary hsm-copy" type="button" aria-label="Copy" title="Copy"> <i class="fa-duotone fa-clipboard" aria-hidden="true"></i> </button> </div> <div class="small fw-bold mb-2 text-muted text-uppercase" style="font-size: 0.7rem; letter-spacing: 0.5px;">Share via</div> <div class="hsm-share-grid"> <a id="share-twitter" class="btn btn-outline-secondary w-100" target="_blank" rel="noopener noreferrer"> <i class="fa-brands fa-twitter me-2"></i>Twitter </a> <a id="share-linkedin" class="btn btn-outline-secondary w-100" target="_blank" rel="noopener noreferrer"> <i class="fa-brands fa-linkedin me-2"></i>LinkedIn </a> <a id="share-facebook" class="btn btn-outline-secondary w-100" target="_blank" rel="noopener noreferrer"> <i class="fa-brands fa-facebook me-2"></i>Facebook </a> </div> </div> </div> </div> <style> .heading-share-modal { position: fixed; inset: 0; display: flex; justify-content: center; align-items: center; background: rgba(0, 0, 0, 0.6); z-index: 1050; padding: 1rem; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); } .heading-share-modal[hidden] { display: none !important; } .hsm-dialog { max-width: 420px; width: 100%; background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #212529); border: 1px solid var(--bs-border-color, rgba(0,0,0,0.1)); border-radius: 1rem; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); overflow: hidden; animation: hsm-fade-in 0.2s ease-out; } @keyframes hsm-fade-in { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } } [data-bs-theme="dark"] .hsm-dialog { background: #1e293b; border-color: rgba(255,255,255,0.1); color: #f8f9fa; } .hsm-header { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.5rem; border-bottom: 1px solid var(--bs-border-color, rgba(0,0,0,0.1)); background: rgba(0,0,0,0.02); } [data-bs-theme="dark"] .hsm-header { background: rgba(255,255,255,0.02); border-color: rgba(255,255,255,0.1); } .hsm-close { background: transparent; border: none; color: inherit; opacity: 0.5; padding: 0.25rem 0.5rem; border-radius: 0.25rem; font-size: 1.2rem; line-height: 1; transition: opacity 0.2s; } .hsm-close:hover { opacity: 1; } .hsm-body { padding: 1.5rem; } .hsm-url-group { display: flex !important; align-items: stretch; } .hsm-url-group .form-control { flex: 1; min-width: 0; margin: 0; background: var(--bs-secondary-bg, #f8f9fa); border-color: var(--bs-border-color, #dee2e6); border-top-right-radius: 0; border-bottom-right-radius: 0; height: 42px; } .hsm-url-group .btn { flex: 0 0 auto; margin: 0; margin-left: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0; height: 42px; display: flex; align-items: center; justify-content: center; padding: 0 1.25rem; z-index: 2; } [data-bs-theme="dark"] .hsm-url-group .form-control { background: #0f172a; border-color: #334155; color: #e2e8f0; } .hsm-share-grid { display: flex; flex-direction: column; gap: 0.5rem; } .hsm-share-grid .btn { display: flex; align-items: center; justify-content: center; font-size: 0.9rem; padding: 0.6rem; border-color: var(--bs-border-color); width: 100%; } [data-bs-theme="dark"] .hsm-share-grid .btn { color: #e2e8f0; border-color: #475569; } [data-bs-theme="dark"] .hsm-share-grid .btn:hover { background: #334155; border-color: #cbd5e1; } </style> <script> (function(){ const modal = document.getElementById('headingShareModal'); if(!modal) return; const input = modal.querySelector('#headingShareInput'); const copyBtn = modal.querySelector('.hsm-copy'); const twitter = modal.querySelector('#share-twitter'); const linkedin = modal.querySelector('#share-linkedin'); const facebook = modal.querySelector('#share-facebook'); const closeBtn = modal.querySelector('.hsm-close'); let lastFocus=null; let trapBound=false; function buildUrl(id){ return window.location.origin + window.location.pathname + '#' + id; } function isOpen(){ return !modal.hasAttribute('hidden'); } function hydrate(id){ const url=buildUrl(id); input.value=url; const enc=encodeURIComponent(url); const text=encodeURIComponent(document.title); if(twitter) twitter.href=`https://twitter.com/intent/tweet?url=${enc}&text=${text}`; if(linkedin) linkedin.href=`https://www.linkedin.com/sharing/share-offsite/?url=${enc}`; if(facebook) facebook.href=`https://www.facebook.com/sharer/sharer.php?u=${enc}`; } function openModal(id){ lastFocus=document.activeElement; hydrate(id); if(!isOpen()){ modal.removeAttribute('hidden'); } requestAnimationFrame(()=>{ input.focus(); }); trapFocus(); } function closeModal(){ if(!isOpen()) return; modal.setAttribute('hidden',''); if(lastFocus && typeof lastFocus.focus==='function') lastFocus.focus(); } function copyCurrent(){ try{ navigator.clipboard.writeText(input.value).then(()=>feedback(true),()=>fallback()); } catch(e){ fallback(); } } function fallback(){ input.select(); try{ document.execCommand('copy'); feedback(true);}catch(e){ feedback(false);} } function feedback(ok){ if(!copyBtn) return; const icon=copyBtn.querySelector('i'); if(!icon) return; const prev=copyBtn.getAttribute('data-prev')||icon.className; if(!copyBtn.getAttribute('data-prev')) copyBtn.setAttribute('data-prev',prev); icon.className= ok ? 'fa-duotone fa-clipboard-check':'fa-duotone fa-circle-exclamation'; setTimeout(()=>{ icon.className=prev; },1800); } function handleShareClick(e){ e.preventDefault(); const btn=e.currentTarget; const id=btn.getAttribute('data-share-target'); if(id) openModal(id); } function bindShareButtons(){ document.querySelectorAll('.h-share').forEach(btn=>{ if(!btn.dataset.hShareBound){ btn.addEventListener('click', handleShareClick); btn.dataset.hShareBound='1'; } }); } bindShareButtons(); if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', bindShareButtons); } else { requestAnimationFrame(bindShareButtons); } document.addEventListener('click', function(e){ const shareBtn=e.target.closest && e.target.closest('.h-share'); if(shareBtn && !shareBtn.dataset.hShareBound){ handleShareClick.call(shareBtn, e); } }, true); document.addEventListener('click', e=>{ if(e.target===modal) closeModal(); if(e.target.closest && e.target.closest('.hsm-close')){ e.preventDefault(); closeModal(); } if(copyBtn && (e.target===copyBtn || (e.target.closest && e.target.closest('.hsm-copy')))) { e.preventDefault(); copyCurrent(); } }); document.addEventListener('keydown', e=>{ if(e.key==='Escape' && isOpen()) closeModal(); }); function trapFocus(){ if(trapBound) return; trapBound=true; modal.addEventListener('keydown', f=>{ if(f.key==='Tab' && isOpen()){ const focusable=[...modal.querySelectorAll('a[href],button,input,textarea,select,[tabindex]:not([tabindex="-1"])')].filter(el=>!el.hasAttribute('disabled')); if(!focusable.length) return; const first=focusable[0]; const last=focusable[focusable.length-1]; if(f.shiftKey && document.activeElement===first){ f.preventDefault(); last.focus(); } else if(!f.shiftKey && document.activeElement===last){ f.preventDefault(); first.focus(); } } }); } if(closeBtn) closeBtn.addEventListener('click', e=>{ e.preventDefault(); closeModal(); }); })(); </script><p>Geode is distributed as source code and must be compiled for your target platform. This approach ensures optimal performance for your specific architecture while maintaining full control over the build process and dependencies. The installation process follows a consistent pattern across platforms: install dependencies, obtain source code, build binaries, and configure the runtime environment.</p> <h4 id="installation-approaches" class="position-relative d-flex align-items-center group"> <span>Installation Approaches</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="installation-approaches" aria-haspopup="dialog" aria-label="Share link: Installation Approaches"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Multiple installation paths accommodate different use cases. Development installations prioritize rapid iteration and debugging capabilities. Production installations optimize for performance, security, and operational reliability. Containerized installations package Geode with all dependencies for consistent deployment across environments.</p> <h4 id="installation-timeline" class="position-relative d-flex align-items-center group"> <span>Installation Timeline</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="installation-timeline" aria-haspopup="dialog" aria-label="Share link: Installation Timeline"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>A typical installation completes in 15-30 minutes, depending on hardware and network speed:</p> <ul> <li>Dependency installation: 5-10 minutes</li> <li>Source code download: 1-2 minutes</li> <li>Compilation: 5-10 minutes</li> <li>Configuration and testing: 5-10 minutes</li> </ul> <h3 id="platform-specific-prerequisites" class="position-relative d-flex align-items-center group"> <span>Platform-Specific Prerequisites</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="platform-specific-prerequisites" aria-haspopup="dialog" aria-label="Share link: Platform-Specific Prerequisites"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><p>Each platform requires specific preparation before beginning Geode installation.</p> <h4 id="linux-installation-prerequisites" class="position-relative d-flex align-items-center group"> <span>Linux Installation Prerequisites</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="linux-installation-prerequisites" aria-haspopup="dialog" aria-label="Share link: Linux Installation Prerequisites"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Linux distributions provide the most straightforward installation path for production deployments.</p> <p><strong>Ubuntu/Debian Systems:</strong></p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Update package index</span> </span></span><span class="line"><span class="cl">sudo apt-get update </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install build essentials</span> </span></span><span class="line"><span class="cl">sudo apt-get install -y <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> build-essential <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> git <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> wget <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> curl <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> ca-certificates </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install optional development tools</span> </span></span><span class="line"><span class="cl">sudo apt-get install -y <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> gdb <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> valgrind <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> strace </span></span></code></pre></div><p><strong>RHEL/CentOS/Rocky Linux Systems:</strong></p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Install EPEL repository</span> </span></span><span class="line"><span class="cl">sudo yum install -y epel-release </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install development tools</span> </span></span><span class="line"><span class="cl">sudo yum groupinstall -y <span class="s2">&#34;Development Tools&#34;</span> </span></span><span class="line"><span class="cl">sudo yum install -y <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> git <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> wget <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> curl <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> ca-certificates </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Optional debugging tools</span> </span></span><span class="line"><span class="cl">sudo yum install -y <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> gdb <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> valgrind <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> strace </span></span></code></pre></div><p><strong>Arch Linux:</strong></p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Install base development tools</span> </span></span><span class="line"><span class="cl">sudo pacman -S --needed <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> base-devel <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> git <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> wget <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> curl </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Optional tools</span> </span></span><span class="line"><span class="cl">sudo pacman -S <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> gdb <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> valgrind </span></span></code></pre></div> <h4 id="macos-installation-prerequisites" class="position-relative d-flex align-items-center group"> <span>macOS Installation Prerequisites</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="macos-installation-prerequisites" aria-haspopup="dialog" aria-label="Share link: macOS Installation Prerequisites"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>macOS requires Xcode Command Line Tools and may benefit from Homebrew package manager.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Install Xcode Command Line Tools</span> </span></span><span class="line"><span class="cl">xcode-select --install </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install Homebrew (if not already installed)</span> </span></span><span class="line"><span class="cl">/bin/bash -c <span class="s2">&#34;</span><span class="k">$(</span>curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh<span class="k">)</span><span class="s2">&#34;</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install dependencies via Homebrew</span> </span></span><span class="line"><span class="cl">brew install git wget </span></span></code></pre></div> <h4 id="windows-installation-prerequisites" class="position-relative d-flex align-items-center group"> <span>Windows Installation Prerequisites</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="windows-installation-prerequisites" aria-haspopup="dialog" aria-label="Share link: Windows Installation Prerequisites"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Windows users should install Windows Subsystem for Linux 2 (WSL2) for optimal Geode support.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="c"># Enable WSL2 (run in PowerShell as Administrator)</span> </span></span><span class="line"><span class="cl"><span class="n">wsl</span> <span class="p">-</span><span class="n">-install</span> <span class="n">-d</span> <span class="n">Ubuntu</span><span class="p">-</span><span class="mf">22.04</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c"># Restart computer, then enter WSL</span> </span></span><span class="line"><span class="cl"><span class="n">wsl</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c"># Follow Ubuntu installation instructions from within WSL</span> </span></span></code></pre></div> <h3 id="installing-zig-compiler" class="position-relative d-flex align-items-center group"> <span>Installing Zig Compiler</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="installing-zig-compiler" aria-haspopup="dialog" aria-label="Share link: Installing Zig Compiler"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><p>Geode requires the Zig programming language compiler version 0.1.0 or later.</p> <h4 id="linux-zig-installation" class="position-relative d-flex align-items-center group"> <span>Linux Zig Installation</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="linux-zig-installation" aria-haspopup="dialog" aria-label="Share link: Linux Zig Installation"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Download Zig 0.1.0 for Linux</span> </span></span><span class="line"><span class="cl"><span class="nb">cd</span> /tmp </span></span><span class="line"><span class="cl">wget https://ziglang.org/download/0.1.0/zig-linux-x86_64-0.1.0.tar.xz </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Extract to /opt</span> </span></span><span class="line"><span class="cl">sudo tar -xf zig-linux-x86_64-0.1.0.tar.xz -C /opt </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Create symbolic link</span> </span></span><span class="line"><span class="cl">sudo ln -s /opt/zig-linux-x86_64-0.1.0 /opt/zig </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Add to PATH</span> </span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;export PATH=&#34;/opt/zig:$PATH&#34;&#39;</span> &gt;&gt; ~/.bashrc </span></span><span class="line"><span class="cl"><span class="nb">source</span> ~/.bashrc </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Verify installation</span> </span></span><span class="line"><span class="cl">zig version </span></span></code></pre></div> <h4 id="macos-zig-installation" class="position-relative d-flex align-items-center group"> <span>macOS Zig Installation</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="macos-zig-installation" aria-haspopup="dialog" aria-label="Share link: macOS Zig Installation"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Download Zig for macOS</span> </span></span><span class="line"><span class="cl"><span class="nb">cd</span> /tmp </span></span><span class="line"><span class="cl">wget https://ziglang.org/download/0.1.0/zig-macos-x86_64-0.1.0.tar.xz </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Extract to /usr/local</span> </span></span><span class="line"><span class="cl">sudo tar -xf zig-macos-x86_64-0.1.0.tar.xz -C /usr/local </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Create symbolic link</span> </span></span><span class="line"><span class="cl">sudo ln -s /usr/local/zig-macos-x86_64-0.1.0 /usr/local/zig </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Add to PATH</span> </span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;export PATH=&#34;/usr/local/zig:$PATH&#34;&#39;</span> &gt;&gt; ~/.zshrc </span></span><span class="line"><span class="cl"><span class="nb">source</span> ~/.zshrc </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Verify installation</span> </span></span><span class="line"><span class="cl">zig version </span></span></code></pre></div><p>For Apple Silicon Macs, use the aarch64 version:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">wget https://ziglang.org/download/0.1.0/zig-macos-aarch64-0.1.0.tar.xz </span></span></code></pre></div> <h4 id="alternative-zig-installation-methods" class="position-relative d-flex align-items-center group"> <span>Alternative Zig Installation Methods</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="alternative-zig-installation-methods" aria-haspopup="dialog" aria-label="Share link: Alternative Zig Installation Methods"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Some platforms offer package manager installation:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Homebrew (macOS/Linux)</span> </span></span><span class="line"><span class="cl">brew install zig </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Verify version is 0.1.0+</span> </span></span><span class="line"><span class="cl">zig version </span></span></code></pre></div> <h3 id="obtaining-geode-source-code" class="position-relative d-flex align-items-center group"> <span>Obtaining Geode Source Code</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="obtaining-geode-source-code" aria-haspopup="dialog" aria-label="Share link: Obtaining Geode Source Code"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><p>Clone the Geode monorepo from the official repository.</p> <h4 id="git-clone" class="position-relative d-flex align-items-center group"> <span>Git Clone</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="git-clone" aria-haspopup="dialog" aria-label="Share link: Git Clone"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Create installation directory</span> </span></span><span class="line"><span class="cl">mkdir -p ~/projects </span></span><span class="line"><span class="cl"><span class="nb">cd</span> ~/projects </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Clone repository</span> </span></span><span class="line"><span class="cl">git clone https://github.com/codeprosorg/geode </span></span><span class="line"><span class="cl"><span class="nb">cd</span> geode </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Verify successful clone</span> </span></span><span class="line"><span class="cl">ls -la </span></span></code></pre></div><p>The repository contains the complete monorepo with server and all client libraries.</p> <h4 id="specific-version-installation" class="position-relative d-flex align-items-center group"> <span>Specific Version Installation</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="specific-version-installation" aria-haspopup="dialog" aria-label="Share link: Specific Version Installation"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>For production deployments, use a specific tagged version:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># List available tags</span> </span></span><span class="line"><span class="cl">git tag -l </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Checkout specific version</span> </span></span><span class="line"><span class="cl">git checkout v0.2.18 </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Verify checked-out version</span> </span></span><span class="line"><span class="cl">git describe --tags </span></span></code></pre></div> <h4 id="repository-structure-navigation" class="position-relative d-flex align-items-center group"> <span>Repository Structure Navigation</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="repository-structure-navigation" aria-haspopup="dialog" aria-label="Share link: Repository Structure Navigation"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Navigate to the server directory for database installation:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">cd</span> geode </span></span><span class="line"><span class="cl">ls -la </span></span></code></pre></div><p>Expected contents include:</p> <ul> <li><code>src/</code> - Source code</li> <li><code>build.zig</code> - Build configuration</li> <li><code>Makefile</code> - Build automation</li> <li><code>tests/</code> - Test suite</li> </ul> <h3 id="building-geode" class="position-relative d-flex align-items-center group"> <span>Building Geode</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="building-geode" aria-haspopup="dialog" aria-label="Share link: Building Geode"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><p>Compile Geode from source code to produce executable binaries.</p> <h4 id="development-build" class="position-relative d-flex align-items-center group"> <span>Development Build</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="development-build" aria-haspopup="dialog" aria-label="Share link: Development Build"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Debug builds include full symbol information and runtime safety checks:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">cd</span> geode </span></span><span class="line"><span class="cl">make build </span></span></code></pre></div><p>This invokes the Zig build system with debug settings. Output appears in <code>zig-out/bin/</code>:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Building Geode (Debug)... </span></span><span class="line"><span class="cl">Compiling src/main.zig... </span></span><span class="line"><span class="cl">Linking geode... </span></span><span class="line"><span class="cl">Build complete: zig-out/bin/geode </span></span></code></pre></div><p>Verify the build:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">ls -lh zig-out/bin/geode </span></span><span class="line"><span class="cl">./zig-out/bin/geode --version </span></span></code></pre></div> <h4 id="production-build" class="position-relative d-flex align-items-center group"> <span>Production Build</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="production-build" aria-haspopup="dialog" aria-label="Share link: Production Build"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Release builds enable optimizations while maintaining safety checks:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">make release </span></span></code></pre></div><p>The release build produces optimized binaries suitable for production deployment:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Building Geode (ReleaseSafe)... </span></span><span class="line"><span class="cl">Optimizing compilation units... </span></span><span class="line"><span class="cl">Linking geode... </span></span><span class="line"><span class="cl">Release build complete: zig-out/bin/geode </span></span></code></pre></div> <h4 id="build-performance" class="position-relative d-flex align-items-center group"> <span>Build Performance</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="build-performance" aria-haspopup="dialog" aria-label="Share link: Build Performance"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Build times vary by hardware:</p> <ul> <li>Development machine (4-8 cores): 5-10 minutes</li> <li>Server (16+ cores): 2-5 minutes</li> </ul> <p>For faster rebuilds during development, use incremental compilation (automatic with Zig).</p> <h4 id="troubleshooting-build-issues" class="position-relative d-flex align-items-center group"> <span>Troubleshooting Build Issues</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="troubleshooting-build-issues" aria-haspopup="dialog" aria-label="Share link: Troubleshooting Build Issues"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p><strong>Compiler Version Mismatch:</strong></p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Verify Zig version</span> </span></span><span class="line"><span class="cl">zig version </span></span><span class="line"><span class="cl"><span class="c1"># Should output: 0.1.0 or later</span> </span></span></code></pre></div><p><strong>Out of Memory:</strong></p> <p>Build may fail on systems with limited RAM. Increase swap space or build on a machine with more memory.</p> <p><strong>Permission Errors:</strong></p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Ensure source directory is writable</span> </span></span><span class="line"><span class="cl">ls -ld . </span></span><span class="line"><span class="cl"><span class="c1"># Should show your user as owner</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># If needed, fix permissions</span> </span></span><span class="line"><span class="cl">sudo chown -R <span class="nv">$USER</span>:<span class="nv">$USER</span> . </span></span></code></pre></div> <h3 id="installation-locations" class="position-relative d-flex align-items-center group"> <span>Installation Locations</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="installation-locations" aria-haspopup="dialog" aria-label="Share link: Installation Locations"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><p>Choose appropriate installation locations based on deployment type.</p> <h4 id="development-installation" class="position-relative d-flex align-items-center group"> <span>Development Installation</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="development-installation" aria-haspopup="dialog" aria-label="Share link: Development Installation"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>For development, install in user home directory:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Binaries remain in source tree</span> </span></span><span class="line"><span class="cl"><span class="nb">cd</span> ~/projects/geode/geode </span></span><span class="line"><span class="cl">./zig-out/bin/geode --version </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Optionally add to PATH</span> </span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;export PATH=&#34;$HOME/projects/geode/geode/zig-out/bin:$PATH&#34;&#39;</span> &gt;&gt; ~/.bashrc </span></span><span class="line"><span class="cl"><span class="nb">source</span> ~/.bashrc </span></span></code></pre></div> <h4 id="system-wide-installation" class="position-relative d-flex align-items-center group"> <span>System-Wide Installation</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="system-wide-installation" aria-haspopup="dialog" aria-label="Share link: System-Wide Installation"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>For production, install to system directories:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Create installation directory</span> </span></span><span class="line"><span class="cl">sudo mkdir -p /opt/geode </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Copy built binaries</span> </span></span><span class="line"><span class="cl">sudo cp -r zig-out/* /opt/geode/ </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Create symbolic link</span> </span></span><span class="line"><span class="cl">sudo ln -s /opt/geode/bin/geode /usr/local/bin/geode </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Verify system-wide access</span> </span></span><span class="line"><span class="cl">which geode </span></span><span class="line"><span class="cl">geode --version </span></span></code></pre></div> <h4 id="user-and-group-setup" class="position-relative d-flex align-items-center group"> <span>User and Group Setup</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="user-and-group-setup" aria-haspopup="dialog" aria-label="Share link: User and Group Setup"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Production installations should run under a dedicated user:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Create geode user and group</span> </span></span><span class="line"><span class="cl">sudo groupadd -r geode </span></span><span class="line"><span class="cl">sudo useradd -r -g geode -d /var/lib/geode -s /sbin/nologin -c <span class="s2">&#34;Geode Graph Database&#34;</span> geode </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Create data directory</span> </span></span><span class="line"><span class="cl">sudo mkdir -p /var/lib/geode/data </span></span><span class="line"><span class="cl">sudo chown -R geode:geode /var/lib/geode </span></span><span class="line"><span class="cl">sudo chmod <span class="m">750</span> /var/lib/geode </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Create log directory</span> </span></span><span class="line"><span class="cl">sudo mkdir -p /var/log/geode </span></span><span class="line"><span class="cl">sudo chown -R geode:geode /var/log/geode </span></span><span class="line"><span class="cl">sudo chmod <span class="m">750</span> /var/log/geode </span></span></code></pre></div> <h3 id="post-installation-configuration" class="position-relative d-flex align-items-center group"> <span>Post-Installation Configuration</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="post-installation-configuration" aria-haspopup="dialog" aria-label="Share link: Post-Installation Configuration"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><p>Configure Geode for initial operation.</p> <h4 id="data-directory-initialization" class="position-relative d-flex align-items-center group"> <span>Data Directory Initialization</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="data-directory-initialization" aria-haspopup="dialog" aria-label="Share link: Data Directory Initialization"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Create and configure the data storage directory:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Development</span> </span></span><span class="line"><span class="cl">mkdir -p ~/geode-data </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Production</span> </span></span><span class="line"><span class="cl">sudo mkdir -p /var/lib/geode/data </span></span><span class="line"><span class="cl">sudo chown geode:geode /var/lib/geode/data </span></span><span class="line"><span class="cl">sudo chmod <span class="m">750</span> /var/lib/geode/data </span></span></code></pre></div> <h4 id="tls-certificate-generation" class="position-relative d-flex align-items-center group"> <span>TLS Certificate Generation</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="tls-certificate-generation" aria-haspopup="dialog" aria-label="Share link: TLS Certificate Generation"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Generate certificates for secure QUIC connections:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Self-signed certificate for development</span> </span></span><span class="line"><span class="cl">openssl req -x509 -newkey rsa:4096 <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> -keyout /etc/geode/key.pem <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> -out /etc/geode/cert.pem <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> -days <span class="m">365</span> -nodes <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> -subj <span class="s2">&#34;/C=US/ST=State/L=City/O=Dev/CN=localhost&#34;</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Set permissions</span> </span></span><span class="line"><span class="cl">sudo chown geode:geode /etc/geode/*.pem </span></span><span class="line"><span class="cl">sudo chmod <span class="m">600</span> /etc/geode/key.pem </span></span><span class="line"><span class="cl">sudo chmod <span class="m">644</span> /etc/geode/cert.pem </span></span></code></pre></div><p>For production, obtain certificates from a trusted CA:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Example using Let&#39;s Encrypt</span> </span></span><span class="line"><span class="cl">sudo certbot certonly --standalone -d geode.example.com </span></span></code></pre></div> <h4 id="systemd-service-installation" class="position-relative d-flex align-items-center group"> <span>Systemd Service Installation</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="systemd-service-installation" aria-haspopup="dialog" aria-label="Share link: Systemd Service Installation"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Install Geode as a system service:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Create service file</span> </span></span><span class="line"><span class="cl">sudo tee /etc/systemd/system/geode.service &gt; /dev/null <span class="s">&lt;&lt;&#39;EOF&#39; </span></span></span><span class="line"><span class="cl"><span class="s">[Unit] </span></span></span><span class="line"><span class="cl"><span class="s">Description=Geode Graph Database </span></span></span><span class="line"><span class="cl"><span class="s">After=network.target </span></span></span><span class="line"><span class="cl"><span class="s">Documentation=https://geodedb.com </span></span></span><span class="line"><span class="cl"><span class="s"> </span></span></span><span class="line"><span class="cl"><span class="s">[Service] </span></span></span><span class="line"><span class="cl"><span class="s">Type=simple </span></span></span><span class="line"><span class="cl"><span class="s">User=geode </span></span></span><span class="line"><span class="cl"><span class="s">Group=geode </span></span></span><span class="line"><span class="cl"><span class="s">WorkingDirectory=/opt/geode </span></span></span><span class="line"><span class="cl"><span class="s">ExecStart=/opt/geode/bin/geode serve \ </span></span></span><span class="line"><span class="cl"><span class="s"> --listen 0.0.0.0:3141 \ </span></span></span><span class="line"><span class="cl"><span class="s"> --data-dir /var/lib/geode/data \ </span></span></span><span class="line"><span class="cl"><span class="s"> --cert /etc/geode/cert.pem \ </span></span></span><span class="line"><span class="cl"><span class="s"> --key /etc/geode/key.pem \ </span></span></span><span class="line"><span class="cl"><span class="s"> --log-level info </span></span></span><span class="line"><span class="cl"><span class="s">Restart=always </span></span></span><span class="line"><span class="cl"><span class="s">RestartSec=10 </span></span></span><span class="line"><span class="cl"><span class="s">StandardOutput=journal </span></span></span><span class="line"><span class="cl"><span class="s">StandardError=journal </span></span></span><span class="line"><span class="cl"><span class="s">SyslogIdentifier=geode </span></span></span><span class="line"><span class="cl"><span class="s"> </span></span></span><span class="line"><span class="cl"><span class="s"># Security hardening </span></span></span><span class="line"><span class="cl"><span class="s">NoNewPrivileges=true </span></span></span><span class="line"><span class="cl"><span class="s">PrivateTmp=true </span></span></span><span class="line"><span class="cl"><span class="s">ProtectSystem=strict </span></span></span><span class="line"><span class="cl"><span class="s">ProtectHome=true </span></span></span><span class="line"><span class="cl"><span class="s">ReadWritePaths=/var/lib/geode </span></span></span><span class="line"><span class="cl"><span class="s">LimitNOFILE=65536 </span></span></span><span class="line"><span class="cl"><span class="s"> </span></span></span><span class="line"><span class="cl"><span class="s">[Install] </span></span></span><span class="line"><span class="cl"><span class="s">WantedBy=multi-user.target </span></span></span><span class="line"><span class="cl"><span class="s">EOF</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Reload systemd</span> </span></span><span class="line"><span class="cl">sudo systemctl daemon-reload </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Enable service</span> </span></span><span class="line"><span class="cl">sudo systemctl <span class="nb">enable</span> geode </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Start service</span> </span></span><span class="line"><span class="cl">sudo systemctl start geode </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Verify status</span> </span></span><span class="line"><span class="cl">sudo systemctl status geode </span></span></code></pre></div> <h3 id="verification-and-testing" class="position-relative d-flex align-items-center group"> <span>Verification and Testing</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="verification-and-testing" aria-haspopup="dialog" aria-label="Share link: Verification and Testing"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><p>Confirm successful installation through testing.</p> <h4 id="basic-connectivity-test" class="position-relative d-flex align-items-center group"> <span>Basic Connectivity Test</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="basic-connectivity-test" aria-haspopup="dialog" aria-label="Share link: Basic Connectivity Test"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Start server (if not running as service)</span> </span></span><span class="line"><span class="cl">./zig-out/bin/geode serve --listen 127.0.0.1:3141 <span class="p">&amp;</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Connect with shell client</span> </span></span><span class="line"><span class="cl">./zig-out/bin/geode shell </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Test basic operations</span> </span></span><span class="line"><span class="cl">&gt; PING </span></span><span class="line"><span class="cl">PONG </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl">&gt; CREATE <span class="o">(</span>n:Test <span class="o">{</span>value: <span class="s1">&#39;installation_test&#39;</span><span class="o">})</span> RETURN n<span class="p">;</span> </span></span><span class="line"><span class="cl">&gt; MATCH <span class="o">(</span>n:Test<span class="o">)</span> RETURN n<span class="p">;</span> </span></span></code></pre></div> <h4 id="test-suite-execution" class="position-relative d-flex align-items-center group"> <span>Test Suite Execution</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="test-suite-execution" aria-haspopup="dialog" aria-label="Share link: Test Suite Execution"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Run the comprehensive test suite to verify correct installation:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">cd</span> geode </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Core unit tests</span> </span></span><span class="line"><span class="cl">make <span class="nb">test</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Comprehensive test suite (97.4% pass rate expected)</span> </span></span><span class="line"><span class="cl">make geodetestlab-comprehensive </span></span></code></pre></div><p>Successful test execution confirms proper installation.</p> <h4 id="performance-baseline" class="position-relative d-flex align-items-center group"> <span>Performance Baseline</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="performance-baseline" aria-haspopup="dialog" aria-label="Share link: Performance Baseline"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Establish performance baseline for your hardware:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Run benchmarks</span> </span></span><span class="line"><span class="cl">./scripts/benchmark.sh </span></span></code></pre></div><p>Record baseline metrics for comparison during tuning.</p> <h3 id="client-library-installation" class="position-relative d-flex align-items-center group"> <span>Client Library Installation</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="client-library-installation" aria-haspopup="dialog" aria-label="Share link: Client Library Installation"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><p>Install client libraries for your application language.</p> <h4 id="go-client-installation" class="position-relative d-flex align-items-center group"> <span>Go Client Installation</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="go-client-installation" aria-haspopup="dialog" aria-label="Share link: Go Client Installation"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># In your Go project</span> </span></span><span class="line"><span class="cl">go get geodedb.com/geode </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Verify installation</span> </span></span><span class="line"><span class="cl">go mod tidy </span></span></code></pre></div> <h4 id="python-client-installation" class="position-relative d-flex align-items-center group"> <span>Python Client Installation</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="python-client-installation" aria-haspopup="dialog" aria-label="Share link: Python Client Installation"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">cd</span> ~/projects/geode/geode-client-python </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Create virtual environment</span> </span></span><span class="line"><span class="cl">python3 -m venv venv </span></span><span class="line"><span class="cl"><span class="nb">source</span> venv/bin/activate </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install dependencies</span> </span></span><span class="line"><span class="cl">pip install -r requirements.txt </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install client</span> </span></span><span class="line"><span class="cl">pip install -e . </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Verify installation</span> </span></span><span class="line"><span class="cl">python -c <span class="s2">&#34;import geode_client; print(&#39;Installed successfully&#39;)&#34;</span> </span></span></code></pre></div> <h4 id="rust-client-installation" class="position-relative d-flex align-items-center group"> <span>Rust Client Installation</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="rust-client-installation" aria-haspopup="dialog" aria-label="Share link: Rust Client Installation"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">cd</span> ~/projects/geode/geode-client-rust </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Build client</span> </span></span><span class="line"><span class="cl">cargo build --release </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Run tests</span> </span></span><span class="line"><span class="cl">cargo <span class="nb">test</span> </span></span></code></pre></div> <h4 id="zig-client-installation" class="position-relative d-flex align-items-center group"> <span>Zig Client Installation</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="zig-client-installation" aria-haspopup="dialog" aria-label="Share link: Zig Client Installation"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">cd</span> ~/projects/geode/geode-client-zig </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Build client</span> </span></span><span class="line"><span class="cl">zig build </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Run example</span> </span></span><span class="line"><span class="cl">zig build run </span></span></code></pre></div> <h3 id="container-installation" class="position-relative d-flex align-items-center group"> <span>Container Installation</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="container-installation" aria-haspopup="dialog" aria-label="Share link: Container Installation"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><p>Deploy Geode in containerized environments.</p> <h4 id="docker-image-build" class="position-relative d-flex align-items-center group"> <span>Docker Image Build</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="docker-image-build" aria-haspopup="dialog" aria-label="Share link: Docker Image Build"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Create a Docker image for Geode:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-dockerfile" data-lang="dockerfile"><span class="line"><span class="cl"><span class="c"># Dockerfile</span><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="k">FROM</span><span class="s"> debian:bookworm-slim</span><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="c"># Install runtime dependencies</span><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="k">RUN</span> apt-get update <span class="o">&amp;&amp;</span> apt-get install -y <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> ca-certificates <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> <span class="o">&amp;&amp;</span> rm -rf /var/lib/apt/lists/*<span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="c"># Create geode user</span><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="k">RUN</span> groupadd -r geode <span class="o">&amp;&amp;</span> useradd -r -g geode geode<span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="c"># Copy Geode binary</span><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="k">COPY</span> --chown<span class="o">=</span>geode:geode zig-out/bin/geode /usr/local/bin/geode<span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="c"># Create data directory</span><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="k">RUN</span> mkdir -p /var/lib/geode/data <span class="o">&amp;&amp;</span> <span class="se">\ </span></span></span><span class="line"><span class="cl"><span class="se"></span> chown -R geode:geode /var/lib/geode<span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="c"># Switch to geode user</span><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="k">USER</span><span class="s"> geode</span><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="c"># Expose port</span><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="k">EXPOSE</span><span class="s"> 3141/udp</span><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="c"># Set entrypoint</span><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="k">ENTRYPOINT</span> <span class="p">[</span><span class="s2">&#34;geode&#34;</span><span class="p">]</span><span class="err"> </span></span></span><span class="line"><span class="cl"><span class="err"></span><span class="k">CMD</span> <span class="p">[</span><span class="s2">&#34;serve&#34;</span><span class="p">,</span> <span class="s2">&#34;--listen&#34;</span><span class="p">,</span> <span class="s2">&#34;0.0.0.0:3141&#34;</span><span class="p">]</span><span class="err"> </span></span></span></code></pre></div><p>Build the image:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker build -t geode:latest . </span></span></code></pre></div> <h4 id="docker-compose-deployment" class="position-relative d-flex align-items-center group"> <span>Docker Compose Deployment</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="docker-compose-deployment" aria-haspopup="dialog" aria-label="Share link: Docker Compose Deployment"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="c"># docker-compose.yml</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s1">&#39;3.8&#39;</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">services</span><span class="p">:</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">geode</span><span class="p">:</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l">geode:latest</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">ports</span><span class="p">:</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="s2">&#34;3141:3141/udp&#34;</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">volumes</span><span class="p">:</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="l">geode-data:/var/lib/geode/data</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="l">./cert.pem:/etc/geode/cert.pem:ro</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="l">./key.pem:/etc/geode/key.pem:ro</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">environment</span><span class="p">:</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="l">GEODE_LOG_LEVEL=info</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l">always</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">volumes</span><span class="p">:</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">geode-data</span><span class="p">:</span><span class="w"> </span></span></span></code></pre></div><p>Deploy:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker-compose up -d </span></span></code></pre></div> <h3 id="upgrading-geode" class="position-relative d-flex align-items-center group"> <span>Upgrading Geode</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="upgrading-geode" aria-haspopup="dialog" aria-label="Share link: Upgrading Geode"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><p>Upgrade existing installations to newer versions.</p> <h4 id="upgrade-process" class="position-relative d-flex align-items-center group"> <span>Upgrade Process</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="upgrade-process" aria-haspopup="dialog" aria-label="Share link: Upgrade Process"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Backup current data</span> </span></span><span class="line"><span class="cl">sudo rsync -av /var/lib/geode/data/ /backup/geode-pre-upgrade/ </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Stop service</span> </span></span><span class="line"><span class="cl">sudo systemctl stop geode </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Update source code</span> </span></span><span class="line"><span class="cl"><span class="nb">cd</span> ~/projects/geode </span></span><span class="line"><span class="cl">git fetch --tags </span></span><span class="line"><span class="cl">git checkout v0.2.18 </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Rebuild</span> </span></span><span class="line"><span class="cl"><span class="nb">cd</span> geode </span></span><span class="line"><span class="cl">make release </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install new binaries</span> </span></span><span class="line"><span class="cl">sudo cp zig-out/bin/geode /opt/geode/bin/ </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Start service</span> </span></span><span class="line"><span class="cl">sudo systemctl start geode </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Verify upgrade</span> </span></span><span class="line"><span class="cl">geode --version </span></span><span class="line"><span class="cl">sudo systemctl status geode </span></span></code></pre></div> <h4 id="rollback-procedure" class="position-relative d-flex align-items-center group"> <span>Rollback Procedure</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="rollback-procedure" aria-haspopup="dialog" aria-label="Share link: Rollback Procedure"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>If upgrade fails:</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Stop service</span> </span></span><span class="line"><span class="cl">sudo systemctl stop geode </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Restore previous binaries</span> </span></span><span class="line"><span class="cl">sudo cp /backup/geode-bin-backup/geode /opt/geode/bin/ </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Restore data if necessary</span> </span></span><span class="line"><span class="cl">sudo rsync -av /backup/geode-pre-upgrade/ /var/lib/geode/data/ </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Start service</span> </span></span><span class="line"><span class="cl">sudo systemctl start geode </span></span></code></pre></div> <h3 id="related-topics" class="position-relative d-flex align-items-center group"> <span>Related Topics</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="related-topics" aria-haspopup="dialog" aria-label="Share link: Related Topics"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><p>Installation connects to several operational areas:</p> <ul> <li><strong>Setup</strong> - Initial configuration and deployment</li> <li><strong>Configuration</strong> - Advanced configuration options</li> <li><strong>Operations</strong> - Ongoing operational management</li> <li><strong>Deployment</strong> - Production deployment strategies</li> <li><strong>Troubleshooting</strong> - Resolving installation issues</li> </ul> <h3 id="resources" class="position-relative d-flex align-items-center group"> <span>Resources</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="resources" aria-haspopup="dialog" aria-label="Share link: Resources"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><p>Additional installation resources:</p> <ul> <li>Official Geode documentation at geodedb.com</li> <li>Platform-specific installation guides</li> <li>Docker and container deployment documentation</li> <li>Community support and troubleshooting forums</li> </ul> <p>Successful installation establishes the foundation for productive Geode usage. Following these platform-specific instructions ensures reliable installation across development and production environments.</p>

Related Articles