Files
taskplaner/.env.example
Thomas Richter 84ad332737 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>
2026-02-01 15:54:44 +01:00

56 lines
1.6 KiB
Plaintext

# TaskPlaner Environment Configuration
# Copy to .env and customize for your deployment
# ============================================
# Server Configuration
# ============================================
# Port the server listens on (inside container)
# Map to host port via docker-compose ports setting
PORT=3000
# ============================================
# Data Storage
# ============================================
# Directory for database and uploads
# Docker: /app/data (must match volume mount)
# Local development: ./data
DATA_DIR=/app/data
# ============================================
# Production URL (REQUIRED for production)
# ============================================
# 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
TASKPLANER_ORIGIN=http://localhost:3000
# ============================================
# Request Limits
# ============================================
# Maximum request body size
# Supports K, M, G suffixes
# Default: 512kb, recommended for images: 10M
BODY_SIZE_LIMIT=10M
# ============================================
# Reverse Proxy Configuration
# Uncomment when running behind nginx/traefik/etc
# ============================================
# Header containing original protocol (http/https)
# PROTOCOL_HEADER=x-forwarded-proto
# Header containing original host
# HOST_HEADER=x-forwarded-host
# Header containing original client IP
# ADDRESS_HEADER=x-forwarded-for
# Number of trusted proxies in front of app
# XFF_DEPTH=1