Files
ARTEX/.gitignore
T
BaaRai 65bdc5d73c fix(auth): keep the JWT signing key in a dedicated volume
The server wrote jwt.key to the executable's directory, /app in the
image, so it lived in the container's writable layer and every container
rebuild generated a new key and signed all users out.

- ARTEX_JWT_KEY_DIR selects the key directory (default: config.BaseDir(),
  unchanged for non-Docker installs). docker-compose.yml sets it to
  /app/keys and bind-mounts ./keys there; the Dockerfile declares the
  volume. The key stays out of data/, which the file manager browses.
- loadOrCreateJWTKey creates the directory (0700). When keyDir/jwt.key is
  missing it migrates dataDir/jwt.key, then BaseDir()/jwt.key (mode 0600,
  old file removed), otherwise generates a new key. An existing key is
  never overwritten; a short one is now a startup error.
- .gitignore and .dockerignore exclude keys/.
- README and CHANGELOG updated; the 0.5.0 known issue is removed.
2026-11-04 09:18:11 +01:00

71 lines
1.2 KiB
Plaintext

# backend
/data/
*.db
*.db-wal
*.db-shm
config.json
scheduler_state.json
__pycache__/
*.pyc
*.pyo
# frontend
web/node_modules/
web/.next/
web/tsconfig.tsbuildinfo
web/next-env.d.ts
*.local
# development tools
.playwright-mcp/
.playwright-cli/
.idea/
.vscode/
*.swp
*.swo
# docs
/docs/
# os
.DS_Store
Thumbs.db
# claude code local state
.claude/
# single-binary artifact with embedded frontend
/artex
# intermediate artifacts left next to the executable by one-click update (staging file / backup / failed version / upgrade marker)
/artex.new
/artex.new.sha256
/artex.old
/artex.failed
/artex.upgrade.json
/server/webui/dist/
/dist/
# JWT signing key (generated at runtime, stored in the project root, never committed)
/jwt.key
/keys/
# local environment generated by Docker deployment (contains passwords/keys, not committed)
.env
# event logs produced by scheduler runs/simulations (test artifacts, not committed)
*-events.csv
# bench benchmark related (local artifacts, not committed)
/bench/
/Dockerfile.bench
/Dockerfile.bench.v2
# scripts/backup.sh output (database dumps, data archives)
backups/
# posture probe raw output
posture-runs/
# benchmark runner output (one dir per run)
benchmark-results/