[{"data":1,"prerenderedAt":1076},["ShallowReactive",2],{"navigation":3,"\u002Fen\u002Fblog\u002Fclaude-code-setup-beginners":497,"surround:\u002Fen\u002Fblog\u002Fclaude-code-setup-beginners":1071},[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,295,307,423,451,490],{"title":5,"path":6,"stem":7},"Build and Deploy a Modern Website in 5 Minutes","\u002Fen\u002Fblog\u002Fbuild-with-loveable","en\u002F3.blog\u002F1.build-with-loveable",{"title":9,"path":10,"stem":11},"The Vercel Alternative for the German Mittelstand: Sovereign Hosting on Hetzner with lowcloud","\u002Fen\u002Fblog\u002Fdigital-sovereignty-lowcloud-vs-vercel-b2b","en\u002F3.blog\u002F10.digital-sovereignty-lowcloud-vs-vercel-b2b",{"title":13,"path":14,"stem":15},"Cloud Sovereignty Framework: How the EU Is Finally Making Cloud Sovereignty Measurable","\u002Fen\u002Fblog\u002Fcloud-sovereignty-framework","en\u002F3.blog\u002F12.cloud-sovereignty-framework",{"title":17,"path":18,"stem":19},"Avoiding Cloud Vendor Lock-in: What Real Sovereignty Means Technically","\u002Fen\u002Fblog\u002Fcloud-vendor-lock-in","en\u002F3.blog\u002F13.cloud-vendor-lock-in",{"title":21,"path":22,"stem":23},"Digital Sovereignty with Kubernetes: When Is Open Source Truly Sovereign?","\u002Fen\u002Fblog\u002Fkubernetes-digital-sovereignty","en\u002F3.blog\u002F14.kubernetes-digital-sovereignty",{"title":25,"path":26,"stem":27},"What Is DevOps as a Service and When Does It Actually Make Sense?","\u002Fen\u002Fblog\u002Fdevops-as-a-service","en\u002F3.blog\u002F15.devops-as-a-service",{"title":29,"path":30,"stem":31},"Cloud Sovereignty Governance: Why This Topic Belongs in the Boardroom, Not the Server Room","\u002Fen\u002Fblog\u002Fcloud-sovereignty-governance","en\u002F3.blog\u002F16.cloud-sovereignty-governance",{"title":33,"path":34,"stem":35},"PaaS vs. DaaS: What","\u002Fen\u002Fblog\u002Fpaas-vs-daas","en\u002F3.blog\u002F17.paas-vs-daas",{"title":37,"path":38,"stem":39},"Sovereign Cloud: Can SaaS Really Maintain Control Over Your Data?","\u002Fen\u002Fblog\u002Fsovereign-cloud-saas-data-control","en\u002F3.blog\u002F18.sovereign-cloud-saas-data-control",{"title":41,"path":42,"stem":43},"DevOps vs. DevOps as a Service – Which One Fits Your Team?","\u002Fen\u002Fblog\u002Fdevops-vs-devops-as-a-service","en\u002F3.blog\u002F19.devops-vs-devops-as-a-service",{"title":45,"path":46,"stem":47},"Docker Fundamentals -  Understanding Container Virtualization","\u002Fen\u002Fblog\u002Fhow-docker-works","en\u002F3.blog\u002F2.how-docker-works",{"title":49,"path":50,"stem":51},"The 7 Biggest DevOps Problems in SMBs – And How to Fix Them","\u002Fen\u002Fblog\u002Fdevops-problems-smb","en\u002F3.blog\u002F20.devops-problems-smb",{"title":53,"path":54,"stem":55},"PostgreSQL Helm Chart: How to Deploy Postgres on Kubernetes","\u002Fen\u002Fblog\u002Fpostgresql-helm-chart-kubernetes","en\u002F3.blog\u002F21.postgresql-helm-chart-kubernetes",{"title":57,"path":58,"stem":59},"Platform Engineering vs. DevOps – What","\u002Fen\u002Fblog\u002Fplatform-engineering-vs-devops","en\u002F3.blog\u002F22.platform-engineering-vs-devops",{"title":61,"path":62,"stem":63},"Cloud Act vs. GDPR: The Risk for EU Businesses","\u002Fen\u002Fblog\u002Fcloud-act-vs-gdpr","en\u002F3.blog\u002F23.cloud-act-vs-gdpr",{"title":65,"path":66,"stem":67},"Cut IT Costs with Automation: The Biggest Lever","\u002Fen\u002Fblog\u002Freduce-it-costs-automation","en\u002F3.blog\u002F24.reduce-it-costs-automation",{"title":69,"path":70,"stem":71},"NIS2 Compliance for DevOps Teams: What You Need to Do","\u002Fen\u002Fblog\u002Fnis2-compliance-devops","en\u002F3.blog\u002F25.nis2-compliance-devops",{"title":73,"path":74,"stem":75},"Self-Hosted EU Alternatives: Host LibreOffice & More","\u002Fen\u002Fblog\u002Fself-hosted-eu-alternatives","en\u002F3.blog\u002F26.self-hosted-eu-alternatives",{"title":77,"path":78,"stem":79},"DORA Compliance for DevOps: What the EU Resilience Act Means","\u002Fen\u002Fblog\u002Fdora-compliance-devops","en\u002F3.blog\u002F27.dora-compliance-devops",{"title":81,"path":82,"stem":83},"Cloud TCO: Hidden Costs AWS, Azure & GCP Don't Show You","\u002Fen\u002Fblog\u002Fcloud-tco-hidden-costs","en\u002F3.blog\u002F28.cloud-tco-hidden-costs",{"title":85,"path":86,"stem":87},"Data Residency vs. Data Sovereignty: What Really Matters","\u002Fen\u002Fblog\u002Fdata-residency-vs-data-sovereignty","en\u002F3.blog\u002F29.data-residency-vs-data-sovereignty",{"title":89,"path":90,"stem":91},"Self-Host n8n on Hetzner: Complete Docker Setup Guide","\u002Fen\u002Fblog\u002Fself-hosted-n8n-on-hetzner","en\u002F3.blog\u002F3.self-hosted-n8n-on-hetzner",{"title":93,"path":94,"stem":95},"Manual Deployments: An Underestimated Risk for SMBs","\u002Fen\u002Fblog\u002Fmanual-deployment-risks","en\u002F3.blog\u002F30.manual-deployment-risks",{"title":97,"path":98,"stem":99},"DevOps Tool Sprawl: How It Happens and How to Stop It","\u002Fen\u002Fblog\u002Fdevops-tool-sprawl","en\u002F3.blog\u002F31.devops-tool-sprawl",{"title":101,"path":102,"stem":103},"Kubernetes Monitoring: Using Logs and Metrics Effectively","\u002Fen\u002Fblog\u002Fkubernetes-monitoring-logs-metrics","en\u002F3.blog\u002F32.kubernetes-monitoring-logs-metrics",{"title":105,"path":106,"stem":107},"OB7 Case Study: Website Deployment Without Infrastructure Overhead","\u002Fen\u002Fblog\u002Fob7-case-study-lowcloud-deployment","en\u002F3.blog\u002F33.ob7-case-study-lowcloud-deployment",{"title":109,"path":110,"stem":111},"DevOps in SMBs: Why Missing Roles Become a Real Risk","\u002Fen\u002Fblog\u002Fmissing-devops-roles-smb","en\u002F3.blog\u002F34.missing-devops-roles-smb",{"title":113,"path":114,"stem":115},"Simplify Kubernetes Configuration: The Path to Human-Readable Cloud","\u002Fen\u002Fblog\u002Fsimplify-kubernetes-configuration","en\u002F3.blog\u002F35.simplify-kubernetes-configuration",{"title":117,"path":118,"stem":119},"Collaborative DevOps: How Modern Teams Build Cloud Apps Together","\u002Fen\u002Fblog\u002Fcollaborative-devops-teams","en\u002F3.blog\u002F36.collaborative-devops-teams",{"title":121,"path":122,"stem":123},"Knowledge Documentation in DevOps Teams: How to Actually Reduce Your Bus Factor","\u002Fen\u002Fblog\u002Fdevops-knowledge-documentation-bus-factor","en\u002F3.blog\u002F37.devops-knowledge-documentation-bus-factor",{"title":125,"path":126,"stem":127},"What Is PaaS? Platform as a Service Explained","\u002Fen\u002Fblog\u002Fwhat-is-paas","en\u002F3.blog\u002F38.what-is-paas",{"title":129,"path":130,"stem":131},"EU AI Act Hosting: What Changes for AI Workload Operators","\u002Fen\u002Fblog\u002Feu-ai-act-hosting","en\u002F3.blog\u002F39.eu-ai-act-hosting",{"title":133,"path":134,"stem":135},"Docker Compose Tutorial: Managing Multi-Container Apps Made Easy","\u002Fen\u002Fblog\u002Fdocker-compose-for-beginners","en\u002F3.blog\u002F4.docker-compose-for-beginners",{"title":137,"path":138,"stem":139},"Full-Stack Developer Reality: What the Title Actually Means","\u002Fen\u002Fblog\u002Ffull-stack-developer-reality","en\u002F3.blog\u002F40.full-stack-developer-reality",{"title":141,"path":142,"stem":143},"Cloud Egress Fees Compared: AWS vs. Azure vs. GCP Pricing","\u002Fen\u002Fblog\u002Fcloud-egress-fees","en\u002F3.blog\u002F41.cloud-egress-fees",{"title":145,"path":146,"stem":147},"Bring Your Own Cloud: What the Model Means and Why It","\u002Fen\u002Fblog\u002Fbring-your-own-cloud","en\u002F3.blog\u002F42.bring-your-own-cloud",{"title":149,"path":150,"stem":151},"Zero-Config Kubernetes: Why Simplicity Wins","\u002Fen\u002Fblog\u002Fzero-config-kubernetes","en\u002F3.blog\u002F43.zero-config-kubernetes",{"title":153,"path":154,"stem":155},"Minimalist Cloud Architecture: Why Less Complexity Means More Stability","\u002Fen\u002Fblog\u002Fminimalist-cloud-architecture","en\u002F3.blog\u002F44.minimalist-cloud-architecture",{"title":157,"path":158,"stem":159},"Software Deployment for SMBs: How Small Teams Ship Faster","\u002Fen\u002Fblog\u002Fsmb-software-deployment","en\u002F3.blog\u002F45.smb-software-deployment",{"title":161,"path":162,"stem":163},"EU Data Act: What Businesses and DevOps Teams Need to Know","\u002Fen\u002Fblog\u002Feu-data-act-business-devops","en\u002F3.blog\u002F46.eu-data-act-business-devops",{"title":165,"path":166,"stem":167},"Data Governance Act: What SMBs and DevOps Teams Need to Know","\u002Fen\u002Fblog\u002Fdata-governance-act-devops-guide","en\u002F3.blog\u002F47.data-governance-act-devops-guide",{"title":169,"path":170,"stem":171},"Cloud Agnostic Architecture: Meaning and Trade-offs","\u002Fen\u002Fblog\u002Fcloud-agnostic-architecture","en\u002F3.blog\u002F48.cloud-agnostic-architecture",{"title":173,"path":174,"stem":175},"Kubernetes Migration: What You Need to Know Before You Start","\u002Fen\u002Fblog\u002Fkubernetes-migration-guide","en\u002F3.blog\u002F49.kubernetes-migration-guide",{"title":177,"path":178,"stem":179},"Self-Host Docmost with Docker Compose and Traefik: Complete Guide","\u002Fen\u002Fblog\u002Fself-host-docmost-with-docker-and-traefik","en\u002F3.blog\u002F5.self-host-docmost-with-docker-and-traefik",{"title":181,"path":182,"stem":183},"AI Agent Infrastructure: What You Really Need for Production","\u002Fen\u002Fblog\u002Fai-agent-infrastructure","en\u002F3.blog\u002F50.ai-agent-infrastructure",{"title":185,"path":186,"stem":187},"Managed Services ROI: Why Self-Hosting Costs More Than You Think","\u002Fen\u002Fblog\u002Fmanaged-services-roi","en\u002F3.blog\u002F51.managed-services-roi",{"title":189,"path":190,"stem":191},"lowcloud vs. DevOps as a Service Providers Compared","\u002Fen\u002Fblog\u002Flowcloud-vs-devops-service-providers","en\u002F3.blog\u002F52.lowcloud-vs-devops-service-providers",{"title":193,"path":194,"stem":195},"Kubernetes vs. Docker Swarm: Key Differences and Why K8s Won","\u002Fen\u002Fblog\u002Fkubernetes-vs-docker-swarm","en\u002F3.blog\u002F53.kubernetes-vs-docker-swarm",{"title":197,"path":198,"stem":199},"Hetzner Kubernetes Hosting with lowcloud","\u002Fen\u002Fblog\u002Fhetzner-kubernetes-hosting","en\u002F3.blog\u002F54.hetzner-kubernetes-hosting",{"title":201,"path":202,"stem":203},"MinIO Alternatives Compared: RustFS, SeaweedFS, and Garage","\u002Fen\u002Fblog\u002Fminio-alternatives","en\u002F3.blog\u002F55.minio-alternatives",{"title":205,"path":206,"stem":207},"What is Docker Swarm? Container Orchestration Built In","\u002Fen\u002Fblog\u002Fwhat-is-docker-swarm","en\u002F3.blog\u002F56.what-is-docker-swarm",{"title":209,"path":210,"stem":211},"What Is a Helm Chart? The Package Manager for Kubernetes","\u002Fen\u002Fblog\u002Fwhat-is-a-helm-chart","en\u002F3.blog\u002F57.what-is-a-helm-chart",{"title":213,"path":214,"stem":215},"Docker vs Kubernetes: Compose, Swarm, and K8s Compared","\u002Fen\u002Fblog\u002Fdocker-vs-kubernetes","en\u002F3.blog\u002F58.docker-vs-kubernetes",{"title":217,"path":218,"stem":219},"What Is Kustomize? Managing Kubernetes Configs Cleanly","\u002Fen\u002Fblog\u002Fwhat-is-kustomize","en\u002F3.blog\u002F59.what-is-kustomize",{"title":221,"path":222,"stem":223},"What Is Kubernetes? A Practical Guide to Container Orchestration","\u002Fen\u002Fblog\u002Fwhat-is-kubernetes","en\u002F3.blog\u002F6.what-is-kubernetes",{"title":225,"path":226,"stem":227},"The Best Heroku Alternatives in 2026","\u002Fen\u002Fblog\u002Fheroku-alternatives","en\u002F3.blog\u002F60.heroku-alternatives",{"title":229,"path":230,"stem":231},"Build and Deploy a Website Using Claude Code (From Zero to Live)","\u002Fen\u002Fblog\u002Fbuild-and-deploy-website-claude-code","en\u002F3.blog\u002F61.build-and-deploy-website-claude-code",{"title":233,"path":234,"stem":235},"lowcloud vs. Coolify: Self-hosted PaaS or managed?","\u002Fen\u002Fblog\u002Flowcloud-vs-coolify","en\u002F3.blog\u002F62.lowcloud-vs-coolify",{"title":237,"path":238,"stem":239},"lowcloud vs. Dokploy: Multi-node self-host or managed?","\u002Fen\u002Fblog\u002Flowcloud-vs-dokploy","en\u002F3.blog\u002F63.lowcloud-vs-dokploy",{"title":241,"path":242,"stem":243},"Your First Website with Claude: A Beginner Guide with Prompts","\u002Fen\u002Fblog\u002Ffirst-website-with-claude","en\u002F3.blog\u002F64.first-website-with-claude",{"title":245,"path":246,"stem":247},"Setting Up Claude Code: A Beginner's Configuration Guide","\u002Fen\u002Fblog\u002Fclaude-code-setup-beginners","en\u002F3.blog\u002F65.claude-code-setup-beginners",{"title":249,"path":250,"stem":251},"Vibe Coding: The Typical Deployment Problems","\u002Fen\u002Fblog\u002Fvibe-coding-deployment-problems","en\u002F3.blog\u002F66.vibe-coding-deployment-problems",{"title":253,"path":254,"stem":255},"Dokploy vs Coolify: Which Tool Fits When?","\u002Fen\u002Fblog\u002Fdokploy-vs-coolify","en\u002F3.blog\u002F67.dokploy-vs-coolify",{"title":257,"path":258,"stem":259},"Vercel vs Netlify: The Difference – and When lowcloud Fits","\u002Fen\u002Fblog\u002Fvercel-vs-netlify","en\u002F3.blog\u002F68.vercel-vs-netlify",{"title":261,"path":262,"stem":263},"Why Use Containers and Deploy With Them","\u002Fen\u002Fblog\u002Fwhy-deploy-with-containers","en\u002F3.blog\u002F69.why-deploy-with-containers",{"title":265,"path":266,"stem":267},"The Cloud Illusion: Why a Server Location in Germany Doesn’t Guarantee Digital Sovereignty","\u002Fen\u002Fblog\u002Fcloud-illusion-digital-sovereignty","en\u002F3.blog\u002F7.cloud-illusion-digital-sovereignty",{"title":269,"path":270,"stem":271},"Best S3-Compatible Object Storage Providers (2026 Comparison)","\u002Fen\u002Fblog\u002Fs3-compatible-object-storage","en\u002F3.blog\u002F8.s3-compatible-object-storage",{"title":273,"path":274,"stem":275},"Deployment as a Bottleneck: When AI Codes Faster Than You Can Deploy","\u002Fen\u002Fblog\u002Fdeployment-bottleneck","en\u002F3.blog\u002F9.deployment-bottleneck",{"title":277,"path":278,"stem":279,"children":280,"icon":294},"Getting Started","\u002Fen\u002Fdocs\u002Fgetting-started","en\u002F1.docs\u002F1.getting-started\u002F1.index",[281,284,289],{"title":282,"path":278,"stem":279,"icon":283},"Introduction","i-lucide-house",{"title":285,"path":286,"stem":287,"icon":288},"Get Started","\u002Fen\u002Fdocs\u002Fgetting-started\u002Fget-started","en\u002F1.docs\u002F1.getting-started\u002F2.get-started","i-lucide-rocket",{"title":290,"path":291,"stem":292,"icon":293},"How It Works","\u002Fen\u002Fdocs\u002Fgetting-started\u002Fhow-it-works","en\u002F1.docs\u002F1.getting-started\u002F3.how-it-works","i-lucide-lightbulb",false,{"title":296,"path":297,"stem":298,"children":299,"icon":294},"Guides","\u002Fen\u002Fdocs\u002Fguides","en\u002F1.docs\u002F2.guides\u002F1.index",[300,302],{"title":296,"path":297,"stem":298,"icon":301},"i-lucide-book-open",{"title":303,"path":304,"stem":305,"icon":306},"Connect a Container Registry","\u002Fen\u002Fdocs\u002Fguides\u002Fcontainer-registries","en\u002F1.docs\u002F2.guides\u002F2.container-registries","i-lucide-container",{"title":308,"icon":294,"path":309,"stem":310,"children":311,"page":294},"Platform","\u002Fen\u002Fdocs\u002Fplatform","en\u002F1.docs\u002F2.platform",[312,332,384],{"title":282,"path":313,"stem":314,"children":315,"icon":294},"\u002Fen\u002Fdocs\u002Fplatform\u002Fintroduction","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F1.index",[316,319,324,329],{"title":317,"path":313,"stem":314,"icon":318},"Overview","i-lucide-cloud",{"title":320,"path":321,"stem":322,"icon":323},"Use Cases","\u002Fen\u002Fdocs\u002Fplatform\u002Fintroduction\u002Fwhen-to-use","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F2.when-to-use","i-lucide-compass",{"title":325,"path":326,"stem":327,"icon":328},"Features","\u002Fen\u002Fdocs\u002Fplatform\u002Fintroduction\u002Fwhat-you-get","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F3.what-you-get","i-lucide-package-check",{"title":285,"path":330,"stem":331,"icon":288},"\u002Fen\u002Fdocs\u002Fplatform\u002Fintroduction\u002Fget-started","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F4.get-started",{"title":333,"path":334,"stem":335,"children":336,"icon":294},"Web Services","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F01.index",[337,340,345,350,354,359,364,369,374,379],{"title":338,"path":334,"stem":335,"icon":339},"Source Options","i-lucide-app-window",{"title":341,"path":342,"stem":343,"icon":344},"Build Strategies","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fbuild-strategies","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F02.build-strategies","i-lucide-hammer",{"title":346,"path":347,"stem":348,"icon":349},"Configuration","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fconfiguration","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F03.configuration","i-lucide-settings",{"title":351,"path":352,"stem":353,"icon":288},"Deploying","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fdeploying","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F04.deploying",{"title":355,"path":356,"stem":357,"icon":358},"Domains","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fdomains","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F05.domains","i-lucide-globe",{"title":360,"path":361,"stem":362,"icon":363},"Service Networking","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fconnecting-services","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F06.connecting-services","i-lucide-network",{"title":365,"path":366,"stem":367,"icon":368},"Env Variables","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fenvironment-variables","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F07.environment-variables","i-lucide-key-round",{"title":370,"path":371,"stem":372,"icon":373},"Storage","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fpersistent-storage","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F08.persistent-storage","i-lucide-hard-drive",{"title":375,"path":376,"stem":377,"icon":378},"Defaults","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Flimits","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F09.limits","i-lucide-gauge",{"title":380,"path":381,"stem":382,"icon":383},"Billing","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fbilling","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F10.billing","i-lucide-credit-card",{"title":385,"path":386,"stem":387,"children":388,"icon":294},"Databases","\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F1.index",[389,392,397,402,407,410,415,420],{"title":390,"path":386,"stem":387,"icon":391},"Templates","i-lucide-database",{"title":393,"path":394,"stem":395,"icon":396},"Create","\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fcreate","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F2.create","i-lucide-plus",{"title":398,"path":399,"stem":400,"icon":401},"Connect","\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fconnect","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F3.connect","i-lucide-plug",{"title":403,"path":404,"stem":405,"icon":406},"Public Access","\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fpublic-access","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F4.public-access","i-lucide-radio-tower",{"title":370,"path":408,"stem":409,"icon":373},"\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fstorage","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F5.storage",{"title":411,"path":412,"stem":413,"icon":414},"Management","\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fmanagement","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F6.management","i-lucide-sliders-horizontal",{"title":416,"path":417,"stem":418,"icon":419},"Operations","\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases\u002Foperational-notes","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F7.operational-notes","i-lucide-clipboard-list",{"title":380,"path":421,"stem":422,"icon":383},"\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fbilling","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F8.billing",{"title":424,"path":425,"stem":426,"children":427,"icon":294},"App Services","\u002Fen\u002Fdocs\u002Fapp-services","en\u002F1.docs\u002F3.app-services\u002F1.index",[428,429,433,437,441,446],{"title":424,"path":425,"stem":426,"icon":288},{"title":430,"path":431,"stem":432,"icon":349},"Build Settings","\u002Fen\u002Fdocs\u002Fapp-services\u002Fbuild-settings","en\u002F1.docs\u002F3.app-services\u002F2.build-settings",{"title":365,"path":434,"stem":435,"icon":436},"\u002Fen\u002Fdocs\u002Fapp-services\u002Fenvironment-variables","en\u002F1.docs\u002F3.app-services\u002F3.environment-variables","i-lucide-key",{"title":438,"path":439,"stem":440,"icon":358},"Custom Domains","\u002Fen\u002Fdocs\u002Fapp-services\u002Fcustom-domains","en\u002F1.docs\u002F3.app-services\u002F4.custom-domains",{"title":442,"path":443,"stem":444,"icon":445},"Health Checks","\u002Fen\u002Fdocs\u002Fapp-services\u002Fhealth-checks","en\u002F1.docs\u002F3.app-services\u002F5.health-checks","i-lucide-heart-pulse",{"title":447,"path":448,"stem":449,"icon":450},"Autoscaling","\u002Fen\u002Fdocs\u002Fapp-services\u002Fautoscaling","en\u002F1.docs\u002F3.app-services\u002F6.autoscaling","i-lucide-scaling",{"title":452,"path":453,"stem":454,"children":455,"icon":294},"Helm Releases","\u002Fen\u002Fdocs\u002Fhelm-releases","en\u002F1.docs\u002F4.helm-releases\u002F1.index",[456,458,462,467,471,476,480,485],{"title":452,"path":453,"stem":454,"icon":457},"i-lucide-package",{"title":459,"path":460,"stem":461,"icon":391},"Deploy PostgreSQL","\u002Fen\u002Fdocs\u002Fhelm-releases\u002Fdeploy-postgresql","en\u002F1.docs\u002F4.helm-releases\u002F2.deploy-postgresql",{"title":463,"path":464,"stem":465,"icon":466},"Deploy Redis","\u002Fen\u002Fdocs\u002Fhelm-releases\u002Fdeploy-redis","en\u002F1.docs\u002F4.helm-releases\u002F3.deploy-redis","i-lucide-zap",{"title":468,"path":469,"stem":470,"icon":466},"Deploy Valkey","\u002Fen\u002Fdocs\u002Fhelm-releases\u002Fdeploy-valkey","en\u002F1.docs\u002F4.helm-releases\u002F3.deploy-valkey",{"title":472,"path":473,"stem":474,"icon":475},"Deploy n8n","\u002Fen\u002Fdocs\u002Fhelm-releases\u002Fdeploy-n8n","en\u002F1.docs\u002F4.helm-releases\u002F4.deploy-n8n","i-lucide-workflow",{"title":477,"path":478,"stem":479,"icon":373},"Deploy RustFS","\u002Fen\u002Fdocs\u002Fhelm-releases\u002Fdeploy-rustfs","en\u002F1.docs\u002F4.helm-releases\u002F5.deploy-rustfs",{"title":481,"path":482,"stem":483,"icon":484},"Deploy OpenSearch","\u002Fen\u002Fdocs\u002Fhelm-releases\u002Fdeploy-opensearch","en\u002F1.docs\u002F4.helm-releases\u002F6.deploy-opensearch","i-lucide-search",{"title":486,"path":487,"stem":488,"icon":489},"Deploy Keycloak","\u002Fen\u002Fdocs\u002Fhelm-releases\u002Fdeploy-keycloak","en\u002F1.docs\u002F4.helm-releases\u002F7.deploy-keycloak","i-lucide-shield-check",{"title":491,"path":492,"stem":493,"children":494,"icon":294},"Glossary","\u002Fen\u002Fdocs\u002Fglossary","en\u002F1.docs\u002F5.glossary\u002F1.index",[495],{"title":491,"path":492,"stem":493,"icon":496},"i-lucide-book-a",{"id":498,"title":245,"authors":499,"badge":505,"body":506,"date":1062,"description":1063,"extension":1064,"image":1065,"lastUpdated":505,"meta":1067,"navigation":1068,"path":246,"published":1068,"seo":1069,"stem":247,"tags":505,"__hash__":1070},"posts\u002Fen\u002F3.blog\u002F65.claude-code-setup-beginners.md",[500],{"name":501,"to":502,"avatar":503},"Fabian Sander","\u002Fabout\u002Ffabiansander",{"src":504},"\u002Fimages\u002Fblog\u002Fauthors\u002Ffabian.png",null,{"type":507,"value":508,"toc":1044},"minimark",[509,513,516,576,581,588,594,601,605,608,611,668,676,680,685,701,704,744,747,751,758,786,789,817,824,894,901,905,908,917,920,923,930,934,937,971,975,980,986,990,996,1000,1006,1010,1025,1029,1038],[510,511,512],"p",{},"You tried Claude in the browser, copy-pasted some code, and it was fine. As soon as a real project has more than three files, half your time goes into tab switching, and the other half into wondering which context is still in the chat.",[510,514,515],{},"Claude Code is the CLI version that runs directly in your terminal, reads and writes your files, and runs your tests. This guide shows you in 15 minutes how to install, log in, and configure it cleanly so the jump from \"nice toy\" to \"daily productive tool\" actually happens.",[517,518,519,525],"blockquote",{},[510,520,521],{},[522,523,524],"strong",{},"Key takeaways",[526,527,528,540,557,569],"ul",{},[529,530,531,532,539],"li",{},"84 percent of developers use AI coding tools in 2026, and Claude Code plus Cursor together account for more than half of primary tool choices (",[533,534,538],"a",{"href":535,"rel":536},"https:\u002F\u002Fwww.digitalapplied.com\u002Fblog\u002Fai-coding-adoption-statistics-2026-50-data-points",[537],"nofollow","digitalapplied.com, 2026",").",[529,541,542,543,547,548,551,552,539],{},"Installation is a single npm command: ",[544,545,546],"code",{},"npm install -g @anthropic-ai\u002Fclaude-code",", then run ",[544,549,550],{},"claude"," and log in via your browser (",[533,553,556],{"href":554,"rel":555},"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fquickstart",[537],"Anthropic Docs, 2026",[529,558,559,560,563,564,539],{},"The ",[544,561,562],{},"CLAUDE.md"," in your project root is the single biggest lever. It is read at every session start and decides whether Claude knows your conventions or guesses them (",[533,565,568],{"href":566,"rel":567},"https:\u002F\u002Fwww.humanlayer.dev\u002Fblog\u002Fwriting-a-good-claude-md",[537],"HumanLayer, 2026",[529,570,571,572,539],{},"Four permission modes (default, acceptEdits, plan, bypass) decide when Claude asks. Plan mode is the safe default for any non-trivial task (",[533,573,556],{"href":574,"rel":575},"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fpermission-modes",[537],[577,578,580],"h2",{"id":579},"what-is-claude-code-and-when-do-you-pick-it-over-the-web-app","What is Claude Code and when do you pick it over the web app?",[510,582,583,584,587],{},"Claude Code is a CLI tool that gives Claude direct access to your filesystem, your shell, and your Git repos. The web app and ",[533,585,586],{"href":242},"Artifacts"," are great for single HTML pages and brainstorming, but as soon as your project spans multiple files, you spend your time shuttling context in and out of the browser. Claude Code handles that itself.",[510,589,590,591,593],{},"Concretely: you open a terminal, change into a project directory, run ",[544,592,550],{},", and type what you want done. The tool figures out which files are relevant, proposes changes, can write them directly, run tests, and create Git commits. For beginners, the most important consequence is that you do not need to know upfront which files Claude should see.",[510,595,596,597,600],{},"A Q1 2026 survey shows 28 percent of professional developers picking Claude Code as their primary AI coding tool, ahead of Cursor with 24 percent (",[533,598,538],{"href":535,"rel":599},[537],"). The difference lies in the model behind it: Claude Code is agentic, so it plans and executes several steps in sequence instead of waiting for each prompt.",[577,602,604],{"id":603},"how-do-you-install-claude-code-in-five-minutes","How do you install Claude Code in five minutes?",[510,606,607],{},"On macOS, Linux, and Windows with WSL you only need Node.js 18 or later and an Anthropic account. A single npm command installs the tool, and the first run opens a browser for login.",[510,609,610],{},"Step by step:",[612,613,614,637,653,662],"ol",{},[529,615,616,619,620,623,624,629,630,633,634,539],{},[522,617,618],{},"Check Node",": ",[544,621,622],{},"node --version"," in your terminal. If you see anything below 18 or nothing at all, install Node through ",[533,625,628],{"href":626,"rel":627},"https:\u002F\u002Fgithub.com\u002Fnvm-sh\u002Fnvm",[537],"nvm",". nvm puts Node in your home directory and avoids the permission errors that ",[544,631,632],{},"sudo npm install"," regularly triggers (",[533,635,556],{"href":554,"rel":636},[537],[529,638,639,619,642,644,645,648,649,652],{},[522,640,641],{},"Install",[544,643,546],{},". On macOS, ",[544,646,647],{},"brew install claude-code"," works too; on Debian and Ubuntu, an official ",[544,650,651],{},"apt"," repository has been available since 2026.",[529,654,655,658,659,661],{},[522,656,657],{},"Start it",": in a project directory, just type ",[544,660,550],{},". On first run, your browser opens, you log in with your Anthropic account, and the token lands on your machine automatically.",[529,663,664,667],{},[522,665,666],{},"Sanity check",": \"Explain what is in this directory\" as your first prompt. If you get a sensible answer, everything works.",[510,669,670,671,539],{},"If you use Pro at 20 dollars per month, Claude Code is included for learning and light daily use. Anyone coding for several hours per day comes out ahead with Max at 100 dollars per month versus raw API billing (",[533,672,675],{"href":673,"rel":674},"https:\u002F\u002Fclaude.com\u002Fpricing",[537],"Anthropic Pricing, 2026",[577,677,679],{"id":678},"what-belongs-in-your-first-claudemd","What belongs in your first CLAUDE.md?",[510,681,559,682,684],{},[544,683,562],{}," in your project root is a Markdown file that Claude reads automatically at every session start. It is the single biggest lever for output quality because Claude knows your conventions before it writes a single character.",[510,686,687,688,691,692,694,695,697,698,539],{},"Run ",[544,689,690],{},"\u002Finit"," first. The slash command crawls your project and proposes a starter ",[544,693,562],{},". Do not adopt it blindly; trim it to the essentials. HumanLayer states the rule plainly: when ",[544,696,562],{}," gets too long, half of it is ignored because the important rules drown in the noise (",[533,699,568],{"href":566,"rel":700},[537],[510,702,703],{},"What goes in:",[526,705,706,712,728,734],{},[529,707,708,711],{},[522,709,710],{},"Stack and versions",": \"Next.js 15, TypeScript strict, pnpm\".",[529,713,714,619,717,720,721,720,724,727],{},[522,715,716],{},"Build and test commands",[544,718,719],{},"pnpm dev",", ",[544,722,723],{},"pnpm test",[544,725,726],{},"pnpm lint",". Claude runs them itself.",[529,729,730,733],{},[522,731,732],{},"Code style rules that are not derivable from the code",": for example \"no default exports\" or \"no inline styles\".",[529,735,736,739,740,743],{},[522,737,738],{},"Hard no-gos",": \"Never touch ",[544,741,742],{},".env"," files\", \"No schema migrations without asking\".",[510,745,746],{},"What does not belong: anything a linter or formatter does better. If ESLint and Prettier already enforce it, you do not need to spell it out a second time.",[577,748,750],{"id":749},"which-configuration-actually-pays-off","Which configuration actually pays off?",[510,752,753,754,757],{},"Four knobs are enough for the start: ",[544,755,756],{},"settings.json"," for permissions, the most important slash commands, the right permission mode for the task at hand, and a deliberately chosen model.",[510,759,760,762,763,766,767,770,771,720,773,776,777,780,781,539],{},[544,761,756],{}," lives either globally at ",[544,764,765],{},"~\u002F.claude\u002Fsettings.json"," or per project at ",[544,768,769],{},".claude\u002Fsettings.json",". It controls which Bash commands Claude can run without asking and which files are off limits. The default recommendation: deny ",[544,772,742],{},[544,774,775],{},"secrets\u002F",", and ",[544,778,779],{},"node_modules"," explicitly, and allow your build commands (",[533,782,785],{"href":783,"rel":784},"https:\u002F\u002Fclaudefa.st\u002Fblog\u002Fguide\u002Fsettings-reference",[537],"claudefa.st, 2026",[510,787,788],{},"The slash commands that matter on day one:",[526,790,791,797,803,809],{},[529,792,793,796],{},[544,794,795],{},"\u002Fhelp"," lists every available command.",[529,798,799,802],{},[544,800,801],{},"\u002Fclear"," resets the context when you start a new sub-topic.",[529,804,805,808],{},[544,806,807],{},"\u002Fmodel"," switches between Sonnet (fast, cheap) and Opus (better for complex tasks).",[529,810,811,813,814,816],{},[544,812,690],{}," creates or refreshes the ",[544,815,562],{},".",[510,818,819,820,823],{},"Permission modes control how often Claude pauses before an action. Cycle through them with ",[544,821,822],{},"Shift+Tab",":",[825,826,827,843],"table",{},[828,829,830],"thead",{},[831,832,833,837,840],"tr",{},[834,835,836],"th",{},"Mode",[834,838,839],{},"What happens",[834,841,842],{},"When to use it",[844,845,846,858,872,883],"tbody",{},[831,847,848,852,855],{},[849,850,851],"td",{},"Default",[849,853,854],{},"Claude asks before every edit and every Bash call",[849,856,857],{},"When you are new and want to see every step",[831,859,860,863,866],{},[849,861,862],{},"acceptEdits",[849,864,865],{},"File edits run automatically, Bash commands still prompt",[849,867,868,869],{},"In long sessions where you review via ",[544,870,871],{},"git diff",[831,873,874,877,880],{},[849,875,876],{},"plan",[849,878,879],{},"Claude reads and plans, writes nothing",[849,881,882],{},"Before any non-trivial task, especially in unfamiliar code",[831,884,885,888,891],{},[849,886,887],{},"bypass",[849,889,890],{},"Everything runs without asking",[849,892,893],{},"Only for throwaway scripts in isolated sandboxes, never in your main project",[510,895,896,897,900],{},"Plan mode is the one most experienced users open every new task with (",[533,898,556],{"href":574,"rel":899},[537],"). You let Claude research and present a plan first, you check it, and only then execution begins.",[577,902,904],{"id":903},"what-we-learned-from-a-year-of-claude-code-at-lowcloud","What we learned from a year of Claude Code at LowCloud",[510,906,907],{},"At LowCloud we have been using Claude Code daily since early 2025, for our own landing page, for internal tools, and for customer setups. Four things have proven themselves clearly.",[510,909,910,911,913,914,916],{},"First, ",[544,912,562],{}," has to live. We update it after every larger refactor and after every time Claude walked into a trap we had not documented. An outdated ",[544,915,562],{}," is worse than none at all because it actively steers in the wrong direction.",[510,918,919],{},"Second, plan mode pays off almost every time. Even for seemingly small tasks we ask for a plan, skim it for five seconds, and then decide. That saves a half hour of correction work later.",[510,921,922],{},"Third, small steps beat big prompts. \"Refactor auth completely\" reliably produces junk. \"Move token validation out of the middleware into its own function and write two tests for it\" produces a commit that is ready to merge.",[510,924,925,926,929],{},"Fourth, every step of a session gets its own Git commit. When Claude takes a wrong turn, ",[544,927,928],{},"git reset"," becomes a one-second affair. Without commits you will either lose work or spend hours cleaning up.",[577,931,933],{"id":932},"which-beginner-mistakes-cost-you-the-most-time","Which beginner mistakes cost you the most time?",[510,935,936],{},"The five most common mistakes all come from the same root: treating Claude like a magic wish-pony rather than a very capable junior team member.",[526,938,939,947,953,959,965],{},[529,940,941,946],{},[522,942,943,944],{},"No ",[544,945,562],{},": Claude guesses your stack, your conventions, your tools. Result: code that looks fine on first glance but does not fit anywhere in your project.",[529,948,949,952],{},[522,950,951],{},"Prompts that are too big",": anyone packing a full feature spec into a single prompt gets a full feature spec worth of bugs back. Break the task into two or three clear steps.",[529,954,955,958],{},[522,956,957],{},"No Git",": without commits there is no reverse gear. Make a commit before each session and after each sub-step.",[529,960,961,964],{},[522,962,963],{},"Bypass mode out of laziness",": comfortable in the first hour, expensive in the second when Claude has drifted and you missed it. Stay in default or acceptEdits.",[529,966,967,970],{},[522,968,969],{},"No re-plan on drift",": as soon as a session moves in a direction that no longer fits, restart or go back to plan mode. Negotiating in the same session rarely works.",[577,972,974],{"id":973},"frequently-asked-questions","Frequently asked questions",[976,977,979],"h3",{"id":978},"which-plan-is-enough-to-start-with","Which plan is enough to start with?",[510,981,982,983,539],{},"Pro at 20 dollars per month is enough for learning, hobby projects, and a few hours per day. Anyone using Claude Code professionally hits the Pro limits quickly and should move straight to Max 5x at 100 dollars per month (",[533,984,675],{"href":673,"rel":985},[537],[976,987,989],{"id":988},"which-model-should-beginners-use","Which model should beginners use?",[510,991,992,993,995],{},"Sonnet is the default and covers around 90 percent of tasks. Switch to Opus with ",[544,994,807],{}," when you need a complex architectural decision or when Claude has gone in the wrong direction twice in the same session. Opus is noticeably more expensive and slower, but it is the right choice for the hard cases.",[976,997,999],{"id":998},"does-claude-code-work-on-windows","Does Claude Code work on Windows?",[510,1001,1002,1003,539],{},"Yes, via WSL (Windows Subsystem for Linux) from Windows 10 onward. A native Windows build has existed since 2026, but WSL stays the clean path because many build tools expect Linux underneath (",[533,1004,556],{"href":554,"rel":1005},[537],[976,1007,1009],{"id":1008},"do-i-need-git-knowledge","Do I need Git knowledge?",[510,1011,1012,720,1015,720,1018,720,1021,1024],{},[544,1013,1014],{},"git init",[544,1016,1017],{},"git add",[544,1019,1020],{},"git commit",[544,1022,1023],{},"git reset --hard",". Nothing more for the start. Claude can help you learn the rest, but the safety net for your work is something you have to set up yourself.",[577,1026,1028],{"id":1027},"conclusion","Conclusion",[510,1030,1031,1032,1034,1035,1037],{},"Setting up Claude Code is a lunch-break task: check Node, run the npm command, log in, create a ",[544,1033,562],{},", configure ",[544,1036,756],{}," roughly, done. The real learning kicks in during your first sessions, when you notice that plan mode is not a detour and that small steps lead to the goal faster. If you avoid the five beginner mistakes, you will have a tool in your hands within a week that makes the leap from browser copy-paste to real project work feel effortless.",[510,1039,1040,1041,816],{},"If your first project is ready to go live now, this is the next step: ",[533,1042,1043],{"href":230},"building and deploying a website with Claude Code",{"title":1045,"searchDepth":1046,"depth":1046,"links":1047},"",2,[1048,1049,1050,1051,1052,1053,1054,1061],{"id":579,"depth":1046,"text":580},{"id":603,"depth":1046,"text":604},{"id":678,"depth":1046,"text":679},{"id":749,"depth":1046,"text":750},{"id":903,"depth":1046,"text":904},{"id":932,"depth":1046,"text":933},{"id":973,"depth":1046,"text":974,"children":1055},[1056,1058,1059,1060],{"id":978,"depth":1057,"text":979},3,{"id":988,"depth":1057,"text":989},{"id":998,"depth":1057,"text":999},{"id":1008,"depth":1057,"text":1009},{"id":1027,"depth":1046,"text":1028},"2026-05-28","Get Claude Code running in 15 minutes: install, login, CLAUDE.md, and the settings that actually matter for your first real coding session.","md",{"src":1066},"\u002Fimages\u002Fblog\u002Fclaude-code-setup-beginners.jpg",{},true,{"title":245,"description":1063},"yfkVtEotGGBm-41cm_xmJ1Hi98gm0vUkcBM2C-ISUEI",[1072,1074],{"title":241,"path":242,"stem":243,"description":1073,"children":-1},"Build your first website with Claude, no coding skills needed. Concrete prompt examples, a step-by-step path, and the patterns that really work.",{"title":249,"path":250,"stem":251,"description":1075,"children":-1},"Vibe-coded apps run locally but break in production. The most common deployment problems, from missing secrets to an exposed database, and how to fix them.",1780334513560]