91cb337c03fef1d2e0051ede33201c6d56f8c970
- Multi-stage Dockerfile on node:24-slim, non-root, healthcheck, /app/data volume - server.mjs wraps the Astro handler with brotli/gzip compression, security headers and graceful SIGTERM shutdown (npm start) - GET /api/health/ reports server and view-counter DB status - Move build-only packages to devDependencies (smaller runtime image) - docker-compose.yml as an alternative for Dokploy Compose Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ta1sph.info
Suphi Çakır (TA1SPH) — amatör telsizcilik blog & portfolyo sitesi.
- Stack: Astro 7 · TailwindCSS 4 · TypeScript (strict)
- Çıktı: statik site +
@astrojs/node(yalnızca görüntülenme sayacı API'si dinamik) - Yayın: Docker → Dokploy (HomeServer Atlas) → https://ta1sph.info
Komutlar
| Komut | Açıklama |
|---|---|
npm install |
Bağımlılıkları kurar |
npm run dev |
Geliştirme sunucusu (localhost:4321) |
npm run check |
astro check (tip ve şablon kontrolü) |
npm run build |
Üretim derlemesi + Pagefind arama indeksi |
npm run preview |
Derlenmiş siteyi yerelde çalıştırır |
npm run format |
Prettier ile biçimlendirir |
npm run new:post -- "Başlık" |
src/content/blog/<slug>/index.md taslağı oluşturur |
Yayın (Docker · Dokploy)
Dockerfile(Node 24 LTS, çok aşamalı) → konteynernode server.mjs, port 4321, kullanıcınode.- Kalıcı veri: görüntülenme sayacı
/app/data/views.db→ Dokploy'da Volume Mount/app/data. - Sağlık kontrolü:
GET /api/health/({"status":"ok","db":true}). - Ortam değişkenleri:
HOST(0.0.0.0),PORT(4321),DATA_DIR(/app/data) — imajda varsayılan. docker-compose.yml: Dokploy "Compose" türü için alternatif.
Lisans
Kod MIT, içerik CC BY-SA 4.0.
Languages
Astro
60.3%
TypeScript
21%
JavaScript
11.4%
CSS
6.5%
Dockerfile
0.8%