My personal website https://zarantonello.dev/
  • Astro 86.7%
  • TypeScript 7.4%
  • Dockerfile 5.1%
  • CSS 0.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Renovate [bot] 603948055e
All checks were successful
release.yaml / Generate next release tag (push) Successful in 2s
ci(deps): update https://git.zarantonello.dev/projects/forgejo-agent action to v1.11.19 (#132)
2026-10-26 03:38:29 +00:00
.devcontainer ci(deps): update ci dependencies (#129) 2026-10-25 03:36:47 +00:00
.forgejo ci(deps): update https://git.zarantonello.dev/projects/forgejo-agent action to v1.11.19 (#132) 2026-10-26 03:38:29 +00:00
kubernetes chore(deps): update git.zarantonello.dev/davide/website docker tag to v1.0.26 (#131) 2026-10-26 03:37:30 +00:00
public chore(deps): update dependency prettier-plugin-astro to v1 (#36) 2026-09-12 14:19:08 +00:00
src chore: remove prettier (#128) 2026-10-24 15:08:20 +00:00
.dockerignore chore: remove prettier (#128) 2026-10-24 15:08:20 +00:00
.gitignore feat: initial commit 2026-08-29 18:44:38 +02:00
.releaserc.json feat: initial commit 2026-08-29 18:44:38 +02:00
.renovaterc.jsonc chore: remove prettier (#128) 2026-10-24 15:08:20 +00:00
.yamllint.yml feat: initial commit 2026-08-29 18:44:38 +02:00
AGENTS.md chore: remove prettier (#128) 2026-10-24 15:08:20 +00:00
astro.config.ts feat: initial commit 2026-08-29 18:44:38 +02:00
biome.jsonc chore: remove prettier (#128) 2026-10-24 15:08:20 +00:00
Caddyfile feat: initial commit 2026-08-29 18:44:38 +02:00
Dockerfile ci(deps): update ci dependencies (#129) 2026-10-25 03:36:47 +00:00
LICENSE feat: initial commit 2026-08-29 18:44:38 +02:00
package.json fix(deps): update astro monorepo (#130) 2026-10-25 09:22:20 +00:00
pnpm-lock.yaml fix(deps): update astro monorepo (#130) 2026-10-25 09:22:20 +00:00
pnpm-workspace.yaml chore: remove sharp dep (#6) 2026-08-29 16:55:31 +00:00
README.md chore: remove prettier (#128) 2026-10-24 15:08:20 +00:00
tsconfig.json feat: initial commit 2026-08-29 18:44:38 +02:00

Website

This is my personal website: a static site built with Astro, and Tailwind CSS.

The site is deployed with Fluxcd to a Kubernetes cluster, and is served by Caddy.

Available scripts

Script Description
pnpm dev Start the Astro dev server
pnpm build Build the static site into dist/
pnpm check Run astro check (types + syntax)
pnpm clean Remove .pnpm-store, .astro/, dist/ and node_modules/
pnpm format:check Check formatting with Biome
pnpm format:fix Fix formatting with Biome
pnpm lint:check Lint with Biome
pnpm lint:fix Fix lint issues with Biome

Project structure

.
├── .devcontainer/          # Dev container definition (ci-pnpm image)
├── .forgejo/workflows/     # Forgejo Actions CI/CD pipelines
├── kubernetes/             # Kustomize manifests deployed with Fluxcd
├── public/
│   ├── favicon/            # Site favicons (png, svg, ico)
│   ├── og.png              # Open Graph image
│   └── robots.txt
├── src/
│   ├── fonts/jetbrains-mono/   # Self-hosted WOFF2 font variants
│   ├── layouts/
│   │   ├── Link.astro          # Reusable link component (primary/secondary)
│   │   └── Page.astro          # Base layout: metadata, OG tags, Umami script
│   ├── pages/
│   │   ├── 404.astro           # Error page
│   │   └── index.astro         # Homepage content
│   └── styles/tailwind.css     # Tailwind entry + font theme
├── astro.config.ts        # Astro config (site URL, fonts, integrations)
├── Caddyfile              # Static file server config for the container
├── Dockerfile             # Multi-stage build → Caddy runtime image
└── biome.jsonc            # Biome formatter/linter config

Deployment

The container image is deployed to the Kubernetes cluster via Fluxcd using the Kustomize configuration, which includes:

  • deployments/website.yaml — Deployment (non-root, read-only rootfs, pinned image digest)
  • services/website.yaml — internal Service
  • http-routes/default.yaml — Gateway API HTTPRoute on zarantonello.dev
  • http-routes/redirects.yaml — 308 redirects from www.zarantonello.dev, zarantonello.net and www.zarantonello.net

License

MIT