[{"data":1,"prerenderedAt":844},["ShallowReactive",2],{"navigation":3,"\u002Fen\u002Fblog\u002Ffirst-website-with-claude":497,"surround:\u002Fen\u002Fblog\u002Ffirst-website-with-claude":839},[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":241,"authors":499,"badge":505,"body":506,"date":830,"description":831,"extension":832,"image":833,"lastUpdated":830,"meta":835,"navigation":836,"path":242,"published":836,"seo":837,"stem":243,"tags":505,"__hash__":838},"posts\u002Fen\u002F3.blog\u002F64.first-website-with-claude.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":813},"minimark",[509,513,521,553,558,567,570,573,577,585,588,591,602,605,609,612,623,629,635,641,647,653,657,660,728,734,737,741,744,747,750,759,763,768,771,775,778,782,785,789,792,796,799,803,806],[510,511,512],"p",{},"You have an idea for a website but you cannot code? Claude was built for exactly this moment. You describe what you want and you get back a working page that you can view in your browser right away.",[510,514,515,516,520],{},"This guide shows you how to go from a blank idea to a first website in under an hour. The focus is on prompts: what you actually type so that something useful comes out the other end. No magic, but a handful of patterns that make the difference. If you prefer working in the terminal, jump to our ",[517,518,519],"a",{"href":246},"Claude Code setup guide",".",[522,523,524,530],"blockquote",{},[510,525,526],{},[527,528,529],"strong",{},"The key points",[531,532,533,537,547,550],"ul",{},[534,535,536],"li",{},"With Claude Artifacts you do not need any coding skills. You describe the site in plain language, Claude generates HTML, CSS and JavaScript.",[534,538,539,540,546],{},"63 percent of users of AI-assisted code creation are non-developers (",[517,541,545],{"href":542,"rel":543},"https:\u002F\u002Fwww.hostinger.com\u002Fblog\u002Fvibe-coding-statistics",[544],"nofollow","Hostinger, 2026","). Adoption among non-technical users grew 520 percent in a single year.",[534,548,549],{},"Your first prompt should read like a short brief: what the page is, who looks at it, what content it needs, and the tone.",[534,551,552],{},"Artifacts have been free for all Claude users since February 2026, including HTML export and sharing.",[554,555,557],"h2",{"id":556},"what-is-claude-artifacts-and-why-is-it-enough-for-a-first-site","What is Claude Artifacts and why is it enough for a first site?",[510,559,560,561,566],{},"Claude Artifacts is a feature that shows you the finished result in a separate panel next to the chat. Type \"Build me a landing page for my dog trainer\", and a real HTML page appears that you can click, scroll, and try out (",[517,562,565],{"href":563,"rel":564},"https:\u002F\u002Fsupport.claude.com\u002Fen\u002Farticles\u002F9487310-what-are-artifacts-and-how-do-i-use-them",[544],"Claude Help Center, 2026",").",[510,568,569],{},"For a first website, that is often all you need. You can build single-page landing pages, portfolios, simple business-card sites or interactive calculators. The page runs in the browser, you can download it as an HTML file and upload it to any web host you like.",[510,571,572],{},"Three things to keep in mind. First: Artifacts does not persist anything server-side, everything happens in the browser. Second: complex multi-page sites or apps with login belong in Claude Code, not Artifacts. Third: what Claude generates is normal code. You or a developer can adjust every line later.",[554,574,576],{"id":575},"how-do-you-write-a-good-first-prompt","How do you write a good first prompt?",[510,578,579,580,566],{},"The best first prompt does not read like a search query. It reads like a short brief to a freelancer. Claude delivers visibly better results when you give it the purpose, the audience, the desired pages and the tone in the first shot (",[517,581,584],{"href":582,"rel":583},"https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fprompt-engineering\u002Fclaude-prompting-best-practices",[544],"Claude API Docs, 2026",[510,586,587],{},"A briefing prompt has four building blocks: the what, the for-whom, the how, and the with-what. What kind of page it is, who looks at it, what mood it should have, and which sections you concretely need. Naming these four points saves you three to five correction rounds.",[510,589,590],{},"Here is a prompt you can copy and adapt to your topic:",[592,593,599],"pre",{"className":594,"code":596,"language":597,"meta":598},[595],"language-text","Build me a single-page landing for my yoga studio \"Studio Nord\".\nAudience: working professionals between 30 and 50 in Hamburg.\nTone: calm, friendly, no esoteric phrases.\nSections, top to bottom:\n1. Hero with title, subtitle, and a button \"Book trial class\"\n2. Three courses as cards (Vinyasa, Yin, Pranayama)\n3. About me, short text plus image placeholder\n4. Schedule as a simple table\n5. Contact with email and address\n\nDesign: warm beige tones, plenty of whitespace, sans-serif type.\nMobile-first, everything in one HTML file.\n","text","",[600,601,596],"code",{"__ignoreMap":598},[510,603,604],{},"Notice what is important: you do not say \"make it pretty\", you name a concrete mood. You list sections in the order they should appear. And you set a technical constraint, in this case the single HTML file.",[554,606,608],{"id":607},"which-prompt-patterns-work-over-and-over","Which prompt patterns work over and over?",[510,610,611],{},"Three patterns come up in every website iteration we run. They save time and tokens, and they lead to code you can actually adapt later.",[510,613,614,617,618,566],{},[527,615,616],{},"Pattern 1: Role prompting."," You start by telling Claude who it should be for this task. This sharpens the output measurably because Claude sticks to the conventions of that role (",[517,619,622],{"href":620,"rel":621},"https:\u002F\u002Fclaude.com\u002Fblog\u002Fbest-practices-for-prompt-engineering",[544],"Anthropic, 2026",[592,624,627],{"className":625,"code":626,"language":597,"meta":598},[595],"You are an experienced web designer who has worked with German\nmid-sized businesses for ten years. You write clean, semantic\nHTML and avoid bloated frameworks. Build me [description].\n",[600,628,626],{"__ignoreMap":598},[510,630,631,634],{},[527,632,633],{},"Pattern 2: The constraint list."," You list what the page must not contain. It looks unspectacular, but it is the strongest weapon against generic output.",[592,636,639],{"className":637,"code":638,"language":597,"meta":598},[595],"Important, what the page MUST NOT have:\n- No stock-photo-style hero images of people laughing at laptops\n- No pink gradients\n- No Bootstrap, no Tailwind, only handwritten CSS\n- No cookie-banner placeholders\n- No filler phrases like \"innovative solutions\" or \"passionate experts\"\n",[600,640,638],{"__ignoreMap":598},[510,642,643,646],{},[527,644,645],{},"Pattern 3: Iterate instead of restart."," Instead of crafting one mega-prompt, you send a short version and correct from there. Claude keeps the context inside the same chat, just like a real conversation with a designer.",[592,648,651],{"className":649,"code":650,"language":597,"meta":598},[595],"First prompt: \"Build me a landing page for my pottery studio.\"\nSecond prompt: \"Make the hero quieter, smaller type, less contrast.\"\nThird prompt: \"Replace the three cards with a six-slot image gallery.\"\nFourth prompt: \"Last section: contact form with email field and phone.\"\n",[600,652,650],{"__ignoreMap":598},[554,654,656],{"id":655},"which-path-fits-your-project","Which path fits your project?",[510,658,659],{},"Claude offers you three different routes to building a website. The right one depends on how big your project is and whether you plan to maintain the site yourself later.",[661,662,663,682],"table",{},[664,665,666],"thead",{},[667,668,669,673,676,679],"tr",{},[670,671,672],"th",{},"Tool",[670,674,675],{},"Good for",[670,677,678],{},"Limit",[670,680,681],{},"Code access",[683,684,685,700,714],"tbody",{},[667,686,687,691,694,697],{},[688,689,690],"td",{},"claude.ai Artifacts",[688,692,693],{},"Single page, mockup, prototype",[688,695,696],{},"One file, no persistence",[688,698,699],{},"HTML download",[667,701,702,705,708,711],{},[688,703,704],{},"Claude Desktop app",[688,706,707],{},"A few pages, small project",[688,709,710],{},"Dozens of files",[688,712,713],{},"Local project folder",[667,715,716,719,722,725],{},[688,717,718],{},"Claude Code (CLI)",[688,720,721],{},"Real software project, deploy",[688,723,724],{},"Full codebase, Git",[688,726,727],{},"Full terminal access",[510,729,730,731,520],{},"If you are testing a single landing page or building a client mockup, Artifacts is enough. As soon as you need several subpages, a blog, or a contact-form endpoint, it pays to switch to Claude Code. We covered a full walk-through in our post on ",[517,732,733],{"href":230},"building a website with Claude Code",[510,735,736],{},"A detail from practice: Artifacts only keeps the current version. If you have a long iteration path ahead, switching to the desktop app or Claude Code pays off because you have real files on disk and can version them with Git.",[554,738,740],{"id":739},"what-we-see-with-beginners-in-practice","What we see with beginners in practice",[510,742,743],{},"At LowCloud we regularly accompany people without a coding background as they build their first website with Claude, often solo freelancers and small associations. Three observations after dozens of sessions.",[510,745,746],{},"First: the most common beginner mistake is not too little prompt, it is too much. If you stuff five sections, three colour palettes, four animations and two languages into the first prompt, you get mush. Start small and reach the target version in ten short iterations.",[510,748,749],{},"Second: text beats design. If the copy is good, the page feels professional even with a default layout. If the copy is filler, no design can save it. In those moments we ask Claude to suggest alternative copy.",[510,751,752,753,758],{},"Third: hosting is not the problem. 92 percent of professional developers now use AI tools daily (",[517,754,757],{"href":755,"rel":756},"https:\u002F\u002Fhashnode.com\u002Fblog\u002Fstate-of-vibe-coding-2026",[544],"Hashnode, 2026","). What blocks most beginners is not the code but the question where the site should actually live. A static HTML file runs on any classic web host. If you know early that your site will grow, look at a platform that grows with you.",[554,760,762],{"id":761},"frequently-asked-questions","Frequently asked questions",[764,765,767],"h3",{"id":766},"do-i-need-a-paid-subscription-for-claude-artifacts","Do I need a paid subscription for Claude Artifacts?",[510,769,770],{},"No. Since February 2026, HTML artifacts, diagrams and sharing are part of the free Claude plan. The paid plan gives you higher limits and access to Claude Code, but it is not required for a first website.",[764,772,774],{"id":773},"how-do-i-publish-the-finished-site-online","How do I publish the finished site online?",[510,776,777],{},"Download the generated HTML file and upload it to a web host. For static pages, classic providers like Hetzner, all-inkl or Netlify are enough. If you own a domain, you only have to point its A record to your host.",[764,779,781],{"id":780},"what-if-claude-builds-a-section-incorrectly","What if Claude builds a section incorrectly?",[510,783,784],{},"Say it concretely. Instead of \"I do not like it\" write \"the hero is too dark and the type is too small\". The more precise your feedback, the better the next result. Keep the chat open so Claude retains the context.",[764,786,788],{"id":787},"can-a-developer-keep-working-on-the-code-later","Can a developer keep working on the code later?",[510,790,791],{},"Yes, and it is recommended. The generated HTML and CSS is standard, no proprietary dependencies. You or a developer can change any line. That is a big difference to classic no-code builders that lock you into their system.",[764,793,795],{"id":794},"which-language-should-i-prompt-in","Which language should I prompt in?",[510,797,798],{},"German works well, especially for the copy on the site. For technical instructions (\"build a responsive three-column grid\"), English is often a touch more precise, but it is not mandatory. Try what feels natural for you.",[554,800,802],{"id":801},"conclusion","Conclusion",[510,804,805],{},"Building a first website with Claude is not a matter of coding skills, it is a matter of good briefings. If you bring a clear purpose, a concrete audience and a short list of sections, you can have a result in under an hour that you can put live. Iterate in small steps, name constraints, and let Claude suggest copy when you are stuck.",[510,807,808,809,812],{},"When your project outgrows the single landing page, read our walk-through on ",[517,810,811],{"href":230},"building and deploying a website with Claude Code",". There we show how to turn the browser mockup into a real project with Git, deployment and sovereign infrastructure.",{"title":598,"searchDepth":814,"depth":814,"links":815},2,[816,817,818,819,820,821,829],{"id":556,"depth":814,"text":557},{"id":575,"depth":814,"text":576},{"id":607,"depth":814,"text":608},{"id":655,"depth":814,"text":656},{"id":739,"depth":814,"text":740},{"id":761,"depth":814,"text":762,"children":822},[823,825,826,827,828],{"id":766,"depth":824,"text":767},3,{"id":773,"depth":824,"text":774},{"id":780,"depth":824,"text":781},{"id":787,"depth":824,"text":788},{"id":794,"depth":824,"text":795},{"id":801,"depth":814,"text":802},"2026-05-27","Build your first website with Claude, no coding skills needed. Concrete prompt examples, a step-by-step path, and the patterns that really work.","md",{"src":834},"\u002Fimages\u002Fblog\u002Ffirst-website-with-claude.jpg",{},true,{"title":241,"description":831},"u1AGvp-YKJQ_u2mgPP7W_uzuEHkFySRmiBz44lKpn2Y",[840,842],{"title":237,"path":238,"stem":239,"description":841,"children":-1},"Dokploy is the Docker-Swarm-native self-hosted PaaS with over 30,000 GitHub stars. When does your own cluster pay off, and when does a managed platform like lowcloud?",{"title":245,"path":246,"stem":247,"description":843,"children":-1},"Get Claude Code running in 15 minutes: install, login, CLAUDE.md, and the settings that actually matter for your first real coding session.",1780334513635]