88e00e5d41
Introduce server-rendered guestbook and moderation portal. Persist data in SQLite (better-sqlite3); add WebAuthn YubiKey admin auth, rate-limiting, spam heuristics, and sanitization. Switch Docker image to run Node/standalone Astro (remove nginx), update docker-compose, Dockerfile, astro.config, and package.json. Add .env.example, docs/guestbook.md, gitignore updates, layouts, API routes, and supporting lib/components/pages for the feature.
71 lines
962 B
Plaintext
71 lines
962 B
Plaintext
# =============================================================================
|
|
# .gitignore — Python + Node + General
|
|
# =============================================================================
|
|
|
|
# ---- Python ----
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.egg-info/
|
|
*.egg
|
|
dist/
|
|
build/
|
|
.eggs/
|
|
*.whl
|
|
.venv/
|
|
venv/
|
|
env/
|
|
.tox/
|
|
.nox/
|
|
.pytest_cache/
|
|
.mypy_cache/
|
|
.ruff_cache/
|
|
htmlcov/
|
|
.coverage
|
|
.coverage.*
|
|
coverage.xml
|
|
*.cover
|
|
|
|
# ---- Node / JavaScript ----
|
|
node_modules/
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
.pnpm-debug.log*
|
|
dist/
|
|
.next/
|
|
.nuxt/
|
|
.output/
|
|
|
|
# ---- Docker ----
|
|
# Don't ignore Dockerfile or docker-compose.yml themselves
|
|
*.tar
|
|
docker-compose.override.yml
|
|
|
|
# ---- IDEs / Editors ----
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# ---- OS ----
|
|
*.log
|
|
*.pid
|
|
*.seed
|
|
|
|
# ---- Environment / Secrets ----
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
*.pem
|
|
*.key
|
|
|
|
# ---- Guestbook SQLite database (use Docker volume in production) ----
|
|
data/
|
|
*.db
|
|
*.db-wal
|
|
*.db-shm
|