# Node Environment NODE_ENV=development # Database Configuration DB_HOST=localhost DB_USER=postgres DB_PASSWORD=your_password_here DB_NAME=tv_3_dev_db DB_PORT=5432 # Application APP_PORT=1401 APP_URL=http://localhost:3000 API_URL=http://localhost:1401 # JWT Configuration JWT_SIGN=your_jwt_secret_here ACCESS_LIFE_TIME=1d REFRESH_LIFE_TIME=2d JWT_ALG=HS256 # SMTP Configuration SMTP_HOST=smtp.domain.com SMTP_PORT=465 SMTP_USERNAME=your_email@example.com SMTP_PASSWORD=your_smtp_password_here SMTP_ENCRYPTION=ssl SMTP_FROM_NAME=TaskView SMTP_FROM_EMAIL=your_email@example.com # Email a person when they are invited to a project (requires SMTP) INVITE_EMAIL_ENABLED=false # Max invite emails one user may trigger per hour (default 30) # INVITE_EMAIL_HOURLY_LIMIT=30 # Encryption (32-byte hex key for AES-256-GCM) # Generate a key: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" ENCRYPTION_KEY= # GitHub Integration OAuth (separate from login OAuth) GITHUB_INTEGRATION_CLIENT_ID= GITHUB_INTEGRATION_CLIENT_SECRET= GITHUB_INTEGRATION_CALLBACK_URL=http://localhost:1401/module/integrations/oauth/github/callback # For GitHub Enterprise, override these: # GITHUB_BASE_URL=https://github.yourcompany.com # GITHUB_API_URL=https://github.yourcompany.com/api/v3 # GitLab Integration OAuth GITLAB_INTEGRATION_CLIENT_ID= GITLAB_INTEGRATION_CLIENT_SECRET= GITLAB_INTEGRATION_CALLBACK_URL=http://localhost:1401/module/integrations/oauth/gitlab/callback # For self-hosted GitLab, override these: # GITLAB_BASE_URL=https://gitlab.yourcompany.com # GITLAB_API_URL=https://gitlab.yourcompany.com/api/v4 # Gitea Integration OAuth GITEA_INTEGRATION_CLIENT_ID= GITEA_INTEGRATION_CLIENT_SECRET= GITEA_INTEGRATION_CALLBACK_URL=http://localhost:1401/module/integrations/oauth/gitea/callback # For self-hosted Gitea, override these: # GITEA_BASE_URL=https://gitea.yourcompany.com # GITEA_API_URL=https://gitea.yourcompany.com/api/v1 # Firebase Cloud Messaging (push notifications for mobile, optional) # Path to Firebase service account JSON file # FIREBASE_CREDENTIALS_PATH=./firebase-credentials.json # Analytics (optional) # Comma-separated list of section IDs to enable in the analytics page. # When unset, all sections are available. When set, only the listed IDs are # available — in the order they appear here. # Example: # ANALYTICS_SECTIONS=kpi.total_income,kpi.total_expense,chart.income_expense_month,chart.income_expense_per_project # Centrifugo (real-time notifications, optional) # CENTRIFUGO_API_URL=http://localhost:8000 # CENTRIFUGO_API_KEY=your_centrifugo_api_key_here # CENTRIFUGO_TOKEN_SECRET=your_centrifugo_token_secret_here # Public port that clients use to connect to Centrifugo (exposed port, not internal docker port) # CENTRIFUGO_PUBLIC_PORT=8000