<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Siddharth's Tech Blog]]></title><description><![CDATA["A personal tech blog documenting my journey through Data Science, DevOps, and Hackathons."]]></description><link>https://siddharthshukla.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6a5114f236bd7242d52ce4ac/ae123812-3d27-4410-9cf2-0ede4df496f7.png</url><title>Siddharth&apos;s Tech Blog</title><link>https://siddharthshukla.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 09:40:52 GMT</lastBuildDate><atom:link href="https://siddharthshukla.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Overcoming Docker Timeouts: Deploying SigNoz Locally with Foundryctl]]></title><description><![CDATA[Setting up full-stack observability locally should be simple, but anyone working with Docker Desktop and WSL 2 knows that things rarely go according to plan.
While deploying SigNoz using the new found]]></description><link>https://siddharthshukla.hashnode.dev/overcoming-docker-timeouts-deploying-signoz-locally-with-foundryctl</link><guid isPermaLink="true">https://siddharthshukla.hashnode.dev/overcoming-docker-timeouts-deploying-signoz-locally-with-foundryctl</guid><category><![CDATA[signoz]]></category><category><![CDATA[Devops]]></category><category><![CDATA[Docker]]></category><dc:creator><![CDATA[Siddharth Shukla]]></dc:creator><pubDate>Fri, 10 Jul 2026 16:41:08 GMT</pubDate><content:encoded><![CDATA[<p>Setting up full-stack observability locally should be simple, but anyone working with Docker Desktop and WSL 2 knows that things rarely go according to plan.</p>
<p>While deploying <strong>SigNoz</strong> using the new <code>foundryctl</code> tool, I hit the ultimate developer roadblock: Docker input/output crashes and a persistent 5-minute image download timeout. Here is exactly how I bypassed these hurdles, pre-loaded the Docker cache, and successfully spun up a live OpenTelemetry dashboard.</p>
<h2>The Goal</h2>
<p>I wanted to run a local instance of SigNoz to monitor application telemetry without relying on cloud-hosted solutions.</p>
<h2>The Roadblocks (WSL &amp; Docker Timeouts)</h2>
<p>During the <code>foundryctl cast</code> setup, my WSL 2 environment started throwing <code>-bash: /usr/bin/docker: Input/output error</code>.</p>
<p><strong>The Fix:</strong> A quick <code>wsl --shutdown</code> in PowerShell and a full restart of Docker Desktop synced the engine back up.</p>
<p>However, the bigger issue was the ClickHouse database. SigNoz relies on heavy database layers, and the Foundry installation script has a strict <strong>5-minute timeout</strong>. My network couldn't pull the massive ClickHouse images fast enough, causing the entire installation to crash at the 5-minute mark.</p>
<h2>The Solution: Pre-loading the Cache</h2>
<p>Instead of letting the script time out, I bypassed it by opening a standard Windows Command Prompt (outside of WSL) and manually pulling the heaviest images directly into Docker Desktop beforehand.</p>
<pre><code class="language-plaintext">docker pull clickhouse/clickhouse-server:24.3-alpine
</code></pre>
<p>By the time I ran <code>foundryctl cast -f casting.yaml</code> again, the images were already cached. The setup bypassed the download phase entirely and spun up the containers instantly!</p>
<h2>Generating Live Traffic</h2>
<p>An empty dashboard is boring. To prove the ingestion engine was working, I used a telemetry generator to blast test data into the local instance.</p>
<pre><code class="language-plaintext">docker run --rm ghcr.io/open-telemetry/opentelemetry-collector-contrib/telemetrygen:latest traces --otlp-insecure --otlp-endpoint host.docker.internal:4317 --rate 100 --duration 10m
</code></pre>
<img src="https://cdn.hashnode.com/uploads/covers/6a5114f236bd7242d52ce4ac/ddc21388-90a2-47ba-a024-8cb2fd2bc838.png" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6a5114f236bd7242d52ce4ac/a08bf01d-c807-4d33-9883-5ed750c4dfce.png" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6a5114f236bd7242d52ce4ac/6677de99-a5e2-46fa-8852-900da6356b80.png" alt="" style="display:block;margin:0 auto" />

<p>As you can see in the dashboard, the local SigNoz instance effortlessly handled over 24,000 calls at 50+ ops/sec with a 0.00% error rate.</p>
<h2>Conclusion</h2>
<p>Deploying heavy data tools locally takes patience, especially when fighting WSL and Docker configurations. But by understanding how to manually manage your Docker cache and bypass script timeouts, you can run enterprise-grade observability right on your laptop.</p>
<h2>Acknowledgments</h2>
<p>To complete this deployment and debug the WSL/Docker conflicts, I used <strong>Google Gemini</strong> as an AI collaborator. It helped me troubleshoot terminal input/output errors, and little bit assisted in structuring this technical documentation.</p>
]]></content:encoded></item></channel></rss>