Lightweight self-hosted personal blog and bio site built with Astro, TypeScript, Markdown/MDX, and plain CSS.
This repo uses the shared dev-platform Dev Container base image. No database or other backing services, so the Dev Container references the image directly - no Docker Compose, no generated secrets. Requirements on the host: Git, Docker, and the Dev Container CLI (or a compatible editor, e.g. VS Code's Dev Containers extension). No local Node install needed.
devcontainer up --workspace-folder .Inside the Dev Container, mise install runs automatically (pinning Node
to 20, matching Dockerfile); continue with just setup.
just # list every command
just setup # install dependencies
just dev # local dev server
just build # build the static site
just lint # astro check
just typecheck # astro check
just check # lint + typecheck + build — same as CI (alias: just ci)Build the image:
docker build -t byah-site .Run the container:
docker run --rm -p 8080:80 byah-siteAdd a new blog post:
- Create
src/content/blog/my-post.mdorsrc/content/blog/my-post.mdx. - Add
title,date,summary,tags, anddraftin frontmatter.
Add a new project:
- Create
src/content/projects/my-project.md. - Add
title,status,summary,stack,links, andfeaturedin frontmatter.
- Update
src/site.config.tsto change the site title, author, description, base URL, accent color, email, and GitHub link. - Draft blog posts are excluded from generated blog pages and indexes.