fix(deploy): resolve Docker startup and CSRF issues

- Rename TASKPLANER_DATA_DIR to DATA_DIR (avoid adapter-node envPrefix conflict)
- Add TASKPLANER_ORIGIN for CSRF protection in docker-compose.yml
- Add automatic database schema initialization on startup
- Add Playwright E2E tests for Docker deployment verification
- Update .env.example with correct variable names

Fixes container restart loop and 403 errors on form submission.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Thomas Richter
2026-02-01 15:54:44 +01:00
parent 89e703daa5
commit 84ad332737
11 changed files with 304 additions and 7 deletions

View File

@@ -16,7 +16,7 @@ PORT=3000
# Directory for database and uploads
# Docker: /app/data (must match volume mount)
# Local development: ./data
TASKPLANER_DATA_DIR=/app/data
DATA_DIR=/app/data
# ============================================
# Production URL (REQUIRED for production)
@@ -24,8 +24,9 @@ TASKPLANER_DATA_DIR=/app/data
# The full URL where users access the app
# Used for CSRF validation and generating absolute URLs
# Must use TASKPLANER_ prefix due to adapter-node envPrefix config
# Example: https://tasks.example.com
ORIGIN=http://localhost:3000
TASKPLANER_ORIGIN=http://localhost:3000
# ============================================
# Request Limits