- 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>
56 lines
1.6 KiB
Plaintext
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
|