<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/coding-agents-aren-t-enough-build-deploy-a-website-from-scratch-hfheeiukr" -->

---
title: Coding Agents Aren’t Enough: Build &amp; Deploy a Website...
description: A full walkthrough for building and deploying a personal website without writing code manually. Uses a coding agent (Claude Code) to generate an AstroJS site,...
canonical: https://daily.dev/posts/coding-agents-aren-t-enough-build-deploy-a-website-from-scratch-hfheeiukr
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Coding Agents Aren’t Enough: Build &amp; Deploy a Website from Scratch | daily.dev
og:description: A full walkthrough for building and deploying a personal website without writing code manually. Uses a coding agent (Claude Code) to generate an AstroJS site,...
og:url: https://daily.dev/posts/coding-agents-aren-t-enough-build-deploy-a-website-from-scratch-hfheeiukr
og:image: https://api.daily.dev/og/posts/HfHEEiuKR.png
og:image:alt: Coding Agents Aren’t Enough: Build &amp; Deploy a Website from Scratch
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Coding Agents Aren’t Enough: Build & Deploy a Website from Scratch

**[NeuralNine](https://daily.dev/sources/neuralnine)** · 23 min read · 1 upvotes · 0 comments

## Summary

A full walkthrough for building and deploying a personal website without writing code manually. Uses a coding agent (Claude Code) to generate an AstroJS site, then covers Dockerizing the app with a multi-stage Dockerfile using Node and Nginx, uploading it to a VPS via rsync, installing Docker on the server, and finally setting up HTTPS using Certbot and Let's Encrypt certificates — including for an IP address rather than a domain.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=WrdMx-W55JQ>

## Questions this post answers

### How do I get a Let's Encrypt HTTPS certificate for a server that only has an IP address, not a domain name?

Use Certbot's short-lived certificate profile, which is the only profile supported for bare IP addresses, requiring Certbot version 5.4 or later. Run certbot with the certonly flag, specify the shortlived profile, pass the IP address as the domain and certificate name, and agree to the terms of service; the resulting certificate expires in about 7 days.

_daily.dev surfaces practical deployment walkthroughs like this for developers securing servers without a domain._

### How do I set up a Docker multi-stage build to serve an AstroJS static site with Nginx?

Use a two-stage Dockerfile: the first stage starts from a Node 22 bookworm-slim image, enables Corepack for pnpm, copies the project, runs pnpm install with a frozen lockfile, and builds it; the second stage starts from nginx 1.27-alpine, copies the built dist folder from the first stage into the Nginx html directory, and exposes port 80.

_developers wiring up Docker and Nginx for a JavaScript app can compare setups like this on daily.dev._

### Which coding agents can build a full website project including Docker and deployment setup?

Claude Code, Codex, and Open Code are all viable coding agents for scaffolding an AstroJS website, writing the Dockerfile and docker-compose configuration, and helping wrap the app for deployment; Claude Code was chosen for being the most capable at the time, though Open Code was noted as a preferred alternative.

_anyone comparing coding agents for real deployment tasks can track these options on daily.dev._

## Similar posts on daily.dev

- [How to Code Your Own Website with AI](https://daily.dev/posts/how-to-code-your-own-website-with-ai-kb6z3ly9d) · Towards Data Science · 4 upvotes · 0 comments
- [Building My New Website with Astro, GitHub Copilot, and AWS Amplify](https://daily.dev/posts/building-my-new-website-with-astro-github-copilot-and-aws-amplify-cxquwr40j) · This is Learning · 6 upvotes · 0 comments
- [Your 6-Step Guide to Deploying a Website with GitHub Codespaces and Copilot agent mode](https://daily.dev/posts/your-6-step-guide-to-deploying-a-website-with-github-codespaces-and-copilot-agent-mode-9utjxdt4h) · DevBlogs · 1 upvotes · 0 comments

---

Tags: [#ai-agents](https://daily.dev/tags/ai-agents), [#docker](https://daily.dev/tags/docker), [#nginx](https://daily.dev/tags/nginx), [#astro](https://daily.dev/tags/astro)

[View this post on daily.dev](https://daily.dev/posts/coding-agents-aren-t-enough-build-deploy-a-website-from-scratch-hfheeiukr)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Coding Agents Aren’t Enough: Build & Deploy a Website from Scratch","url":"https://daily.dev/posts/coding-agents-aren-t-enough-build-deploy-a-website-from-scratch-hfheeiukr","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/coding-agents-aren-t-enough-build-deploy-a-website-from-scratch-hfheeiukr"},"datePublished":"2026-07-29T16:29:27.152Z","dateModified":"2026-09-13T20:07:14.171Z","description":"A full walkthrough for building and deploying a personal website without writing code manually. Uses a coding agent (Claude Code) to generate an AstroJS site,...","image":"https://i.ytimg.com/vi/WrdMx-W55JQ/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/WrdMx-W55JQ/sddefault.jpg","isAccessibleForFree":true,"articleSection":"NeuralNine","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"NeuralNine","logo":"https://media.daily.dev/image/upload/s--bMYO07OB--/f_auto,q_auto/v1777800757/logos/neuralnine?_a=BAMAMiWQ0","url":"https://daily.dev/sources/neuralnine"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/coding-agents-aren-t-enough-build-deploy-a-website-from-scratch-hfheeiukr","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"ai-agents,docker,nginx,astro","timeRequired":"PT23M","video":{"@type":"VideoObject","name":"Coding Agents Aren’t Enough: Build & Deploy a Website from Scratch","description":"A full walkthrough for building and deploying a personal website without writing code manually. Uses a coding agent (Claude Code) to generate an AstroJS site,...","thumbnailUrl":"https://i.ytimg.com/vi/WrdMx-W55JQ/sddefault.jpg","uploadDate":"2026-07-29T16:29:27.152Z","duration":"PT23M","url":"https://api.daily.dev/r/HfHEEiuKR","embedUrl":"https://www.youtube.com/embed/WrdMx-W55JQ"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"NeuralNine","item":"https://daily.dev/sources/neuralnine"},{"@type":"ListItem","position":3,"name":"Coding Agents Aren’t Enough: Build & Deploy a Website from Scratch"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/coding-agents-aren-t-enough-build-deploy-a-website-from-scratch-hfheeiukr#faq","mainEntity":[{"@type":"Question","name":"How do I get a Let's Encrypt HTTPS certificate for a server that only has an IP address, not a domain name?","acceptedAnswer":{"@type":"Answer","text":"Use Certbot's short-lived certificate profile, which is the only profile supported for bare IP addresses, requiring Certbot version 5.4 or later. Run certbot with the certonly flag, specify the shortlived profile, pass the IP address as the domain and certificate name, and agree to the terms of service; the resulting certificate expires in about 7 days. daily.dev surfaces practical deployment walkthroughs like this for developers securing servers without a domain."}},{"@type":"Question","name":"How do I set up a Docker multi-stage build to serve an AstroJS static site with Nginx?","acceptedAnswer":{"@type":"Answer","text":"Use a two-stage Dockerfile: the first stage starts from a Node 22 bookworm-slim image, enables Corepack for pnpm, copies the project, runs pnpm install with a frozen lockfile, and builds it; the second stage starts from nginx 1.27-alpine, copies the built dist folder from the first stage into the Nginx html directory, and exposes port 80. developers wiring up Docker and Nginx for a JavaScript app can compare setups like this on daily.dev."}},{"@type":"Question","name":"Which coding agents can build a full website project including Docker and deployment setup?","acceptedAnswer":{"@type":"Answer","text":"Claude Code, Codex, and Open Code are all viable coding agents for scaffolding an AstroJS website, writing the Dockerfile and docker-compose configuration, and helping wrap the app for deployment; Claude Code was chosen for being the most capable at the time, though Open Code was noted as a preferred alternative. anyone comparing coding agents for real deployment tasks can track these options on daily.dev."}}]}
```

