SShortSingh.
Back to feed

LXC vs VM for Docker on Proxmox: Key Setup and Firewall Lessons from a Home Lab

0
·2 views

A developer repurposed an old i7-7700 machine with 15GB RAM as a Proxmox-based home lab for automation and agent workloads. The central architectural decision was whether to run Docker inside LXC containers or full virtual machines, with the choice hinging on isolation needs versus performance trade-offs. LXC containers share the host kernel and offer near-native speed with minimal memory overhead, while VMs provide stronger hardware-enforced isolation suited for untrusted workloads. Running Docker inside unprivileged LXC requires enabling nesting and keyctl in the container config rather than defaulting to the riskier privileged container mode. The author also highlights that Proxmox's datacenter-level firewall rules are frequently overlooked, yet are more consequential than per-container rules in securing the overall setup.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

How AI Companies Hijack the Gartner Hype Cycle to Avoid Accountability

The Gartner Hype Cycle describes the typical arc of a new technology, moving from initial excitement through inflated expectations, disillusionment, and finally stable productivity. Critics argue that AI companies deliberately disrupt this natural progression by releasing faster or cheaper model versions — branded as breakthroughs — just before a product matures into a commodity. This strategy resets the hype loop at Stage 4, allowing firms to restart overpromising without being held accountable for unresolved limitations like hallucinations, high costs, or missing features. The tactic also targets non-technical executives focused on cost-cutting rather than engineers who evaluate reliability. The result, according to this analysis, is that genuine technological progress is replaced by a repetitive marketing cycle that keeps users chasing promises rather than benefiting from stable, proven tools.

0
ProgrammingDEV Community ·

1C-Bitrix online store load time cut from 15s to 2s with SQL and caching fixes

A Russian federal IT equipment distributor was experiencing severe performance issues, with catalog pages taking 7–15 seconds to load and a bounce rate of 62%. Over three working days, a technical team diagnosed the root causes by analyzing server logs rather than immediately adjusting cache settings. They identified three core problems: slow SQL queries on large catalog tables, absent Nginx-level caching that routed every request through PHP, and uncompressed images inflating page size to 4.2 MB. Fixes included adding database indexes, enabling FastCGI and Bitrix component caching, converting images to WebP with lazy loading, and minifying CSS and JS files. The result was an LCP of 2 seconds, a page size reduction from 4.2 MB to 1.1 MB, a drop in bounce rate to 38%, and a search ranking improvement of 15–20 positions — all without upgrading the server.

0
ProgrammingDEV Community ·

Engineering Team Cuts RAG Pipeline Latency 40% Using Bayesian Search and Hybrid Retrieval

A development team overhauled their Retrieval-Augmented Generation (RAG) pipeline after standard production deployments revealed significant performance gaps with legal, API, and support ticket documents. The team replaced fixed 512-token chunking with document-type-specific strategies, including recursive, semantic, and agentic chunking, achieving recall@10 scores between 91% and 97% across content types. They also implemented a hybrid retrieval system combining vector search and BM25 keyword search, fused via Reciprocal Rank Fusion and re-ranked using a cross-encoder model. The cross-encoder reranking step added only 50ms of latency while improving recall by 15%, contributing to an overall 40% reduction in end-to-end query latency. The team noted that query transformation and parallel retrieval stages were equally critical to reaching production-grade performance.

0
ProgrammingDEV Community ·

How to Fix Puppeteer Memory Leaks in Production Before They Crash Your Container

Puppeteer memory leaks in production are rarely a single bug — they typically stem from unclosed pages, long-lived browser instances, and orphaned Chromium processes left behind after crashes or timeouts. Developers often misdiagnose the issue by monitoring Node.js heap usage, while the actual memory growth occurs in Chromium's child processes outside the Node process. Key fixes include always closing pages and browser contexts in a finally block, recycling the browser after a set number of jobs rather than keeping one instance alive indefinitely, and running Chromium under an init process to reap zombie processes. Concurrency should be capped and memory ceilings set to limit the damage a single misbehaving page can cause. For use cases limited to capturing screenshots of URLs, a hosted screenshot API can eliminate the need to manage Chromium entirely, removing the memory problem at its source.