Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
271 commits
Select commit Hold shift + click to select a range
147527d
Add automatic date detection for organization slots
Mar 3, 2026
b6afad2
Transitioned from Plan to Build mode
Mar 3, 2026
998f448
Allow AI to generate more poll options and tokens
Mar 3, 2026
7a440dd
Transitioned from Plan to Build mode
Mar 3, 2026
01b12ef
Improve slot management and translate UI elements for better user exp…
Mar 3, 2026
bae958a
Transitioned from Plan to Build mode
Mar 4, 2026
f750954
Add drag-and-drop functionality and dynamic suggestions to the AI cha…
Mar 4, 2026
3668297
Improve scrolling behavior after AI suggestion generation
Mar 4, 2026
b5517b4
Move daily organization settings into the main settings section
Mar 4, 2026
26a0e59
Clean up settings header by removing unnecessary status badges
Mar 4, 2026
f49a100
Improve AI error handling and model loading response
Mar 4, 2026
32b64b3
Transitioned from Plan to Build mode
Mar 4, 2026
e1a9e14
Increase input limits and add character counters for AI interactions
Mar 4, 2026
eb67f84
Transitioned from Plan to Build mode
Mar 4, 2026
70447e5
Add translation strings for poll creation settings
Mar 4, 2026
9137484
Transitioned from Plan to Build mode
Mar 4, 2026
0f33aee
Add free-text question functionality to surveys and improve results d…
Mar 4, 2026
79e743c
Transitioned from Plan to Build mode
Mar 4, 2026
1073f7a
Add free text questions and improve survey creation with drag and drop
Mar 4, 2026
8d646d0
Improve AI chat widget to handle various question types correctly
Mar 4, 2026
995b73f
Add translation for poll results visibility settings
Mar 4, 2026
3bda783
Add feature to highlight the winning option in poll results
Mar 4, 2026
2f4aaf5
Transitioned from Plan to Build mode
Mar 4, 2026
16be524
Enable anonymous voting and improve participant identification
Mar 4, 2026
bddf328
Restored to '79e743c5090e9d1fc4ea4833694490aac92715cf'
Mar 4, 2026
61ef23e
Enhance survey creation with drag-and-drop reordering and dynamic hints
Mar 4, 2026
4fff6fc
Remove the ability to add free-text questions from the survey creatio…
Mar 4, 2026
2232493
Transitioned from Plan to Build mode
Mar 5, 2026
fa5b0b3
Improve AI chat rendering speed and responsiveness
Mar 5, 2026
5d6218e
Add drag-and-drop functionality to reorder organization slots
Mar 5, 2026
b5626e5
Transitioned from Plan to Build mode
Mar 5, 2026
d45c5dc
Add voice input functionality for AI chat
Mar 5, 2026
5f2b64f
Improve microphone access feedback for voice input
Mar 5, 2026
5b685a8
Allow microphone access for speech input features
Mar 5, 2026
9dd36f0
Transitioned from Plan to Build mode
Mar 5, 2026
7999676
Improve AI-generated time slot creation and data handling
Mar 5, 2026
04fe952
Published your App
Mar 5, 2026
e51c1b2
Integrate AI-powered poll creation and voice input features
Mar 5, 2026
9021155
Transitioned from Plan to Build mode
Mar 6, 2026
07b3064
Add AI assistant configuration and API endpoints to documentation
Mar 6, 2026
95e8981
Improve database connection handling for external PostgreSQL instances
Mar 6, 2026
ed84d02
Transitioned from Plan to Build mode
Mar 6, 2026
64ada90
Improve admin settings and AI chat widget functionality
Mar 6, 2026
6623037
Transitioned from Plan to Build mode
Mar 6, 2026
5e1a247
Update email settings panel to display current SMTP configuration and…
Mar 6, 2026
fd98b7b
Transitioned from Plan to Build mode
Mar 6, 2026
04233de
Add secure Keycloak authentication and configuration settings
Mar 6, 2026
39d60af
Transitioned from Plan to Build mode
Mar 9, 2026
3197bdf
Improve settings panel and authentication for educational polling app…
Mar 9, 2026
18db642
Configure AI settings with environment variables and database storage
Mar 9, 2026
eb559a4
Transitioned from Plan to Build mode
Mar 9, 2026
6dc7c24
Transitioned from Plan to Build mode
Mar 9, 2026
035dd1e
Standardize application URL variable for consistent configuration
Mar 9, 2026
f563a32
Transitioned from Plan to Build mode
Mar 9, 2026
4af369c
Improve admin panel and user authentication features
Mar 9, 2026
d640731
Add missing translation strings for user polls description
Mar 9, 2026
05a2603
Improve password reset email sending logic
Mar 9, 2026
aecbf82
Transitioned from Plan to Build mode
Mar 9, 2026
99d8cb2
Improve authentication and AI feature configuration
Mar 9, 2026
5328112
Transitioned from Plan to Build mode
Mar 10, 2026
1cffc59
Update environment variables and email configurations for clarity and…
Mar 10, 2026
883a28e
Transitioned from Plan to Build mode
Mar 10, 2026
59d469b
Improve AI chat and customize SSO login button
Mar 10, 2026
6aaa5f5
Add option to hide local login form when SSO is enabled
Mar 10, 2026
38afd9d
Transitioned from Plan to Build mode
Mar 10, 2026
f9f45c9
Rename login form visibility setting and invert its logic
Mar 10, 2026
75e82d3
Transitioned from Plan to Build mode
Mar 10, 2026
6524cd4
Remove dashboard and enhance user management and poll features
Mar 10, 2026
d0c457d
Fix issues with AI suggestions and email service testing
Mar 10, 2026
8d9adff
Improve email template import by reducing data size and increasing pa…
Mar 11, 2026
65295be
Saved progress at the end of the loop
Mar 11, 2026
f554d10
Transitioned from Plan to Build mode
Mar 11, 2026
d67de8c
Improve email template rendering to apply theme colors correctly
Mar 11, 2026
7d2ea02
Enhance backend functionality and address critical bugs within the ad…
Mar 11, 2026
1c7c121
Improve security and performance by adding database indexes and fixin…
Mar 11, 2026
79c5a2b
Enhance application security by fixing vulnerabilities and improving …
Mar 11, 2026
ee6e227
Enhance application security through comprehensive testing and fixes
Mar 11, 2026
508e5d6
Published your App
Mar 11, 2026
78e4565
Strengthen security and user experience with improved session managem…
Mar 11, 2026
a3fc18f
Improve security by implementing various hardening measures and tests
Mar 11, 2026
3e83959
Saved progress at the end of the loop
Mar 12, 2026
38236fd
Add stack analysis report for the current project
Mar 12, 2026
0dc9cfe
Add document comparing project stack with canonical stack
Mar 12, 2026
b7de54c
Update application to use internationalization for all user-facing text
Mar 12, 2026
0cdd7ad
Improve internationalization by removing hardcoded German strings
Mar 12, 2026
9407ce6
Ensure all client source files are available for UI testing
Mar 12, 2026
a9f47a7
Fix crashes when handling AI-generated poll options
Mar 13, 2026
7368bd0
Update documentation to enforce translation standards
Mar 13, 2026
b5b1111
Transitioned from Plan to Build mode
Mar 13, 2026
108acf1
feat: UI/UX overhaul of AI refinement section in AiChatWidget
Mar 13, 2026
5e53df7
feat: AI refinement section design iteration v2
Mar 13, 2026
97cc322
Improve error message display for AI refinement
Mar 13, 2026
89345cd
feat: AI refinement section β€” design iteration v3
Mar 13, 2026
e3fa278
feat: AI refinement section β€” design iteration v3
Mar 13, 2026
13518fa
Improve chat input and button styling for better user experience
Mar 13, 2026
946c4f5
chore: confirm Task #2 (AI Refinement Section β€” Design Iteration v2)
Mar 13, 2026
f1c1966
Improve refinement options and user interaction in the AI chat widget
Mar 13, 2026
098f170
Improve AI chat widget to match design specifications
Mar 16, 2026
91d16f2
Transitioned from Plan to Build mode
Mar 16, 2026
fb4fbc4
i18n audit: replace all remaining hardcoded strings with t() calls
Mar 16, 2026
5604e31
Fix test infrastructure: stable counts, improved regex, admin test fixes
Mar 16, 2026
f1e0cbf
Comprehensive i18n audit: fix all remaining hardcoded strings
Mar 16, 2026
2e2c705
Comprehensive i18n audit: fix all remaining hardcoded strings
Mar 16, 2026
afb9eae
Comprehensive i18n audit: fix all remaining hardcoded strings
Mar 16, 2026
222631e
Fix test infrastructure: stable counts, improved regex, admin test fixes
Mar 16, 2026
90bd955
Fix test infrastructure: Vitest-based counting, parser tests, stable UI
Mar 16, 2026
f872672
Fix test infrastructure: Vitest-based counting, parser tests, stable UI
Mar 16, 2026
a5c8e57
Fix test infrastructure: Vitest-based counting, stable totals, parser…
Mar 16, 2026
8c0a042
Improve test parsing to prevent duplicate test detection
Mar 16, 2026
c10992a
Improve voice input feedback and reliability across the application
Mar 16, 2026
97d6b40
Add tests for voice input consistency and visual feedback
Mar 16, 2026
77dbeae
Enhance email templates with new container blocks and dark mode support
Mar 16, 2026
ce8aed4
Improve logo upload functionality by replacing the native file input
Mar 16, 2026
f497a85
Fix logo upload button to open file dialog natively
Mar 16, 2026
55a3a6d
Improve logo upload functionality and error handling
Mar 16, 2026
4ba5df5
Allow SVG files to be uploaded as logos
Mar 16, 2026
81e42f0
Add tests to verify image upload handling for various file types
Mar 16, 2026
35499c7
Add mandatory testing discipline and update test coverage
Mar 16, 2026
9d31fa9
Update website name and accent placeholder to form "Polly"
Mar 16, 2026
13e9c69
Update website title display and default settings
Mar 16, 2026
767141b
Add comprehensive testing for live multi-user voting sessions
Mar 16, 2026
8748804
Transitioned from Plan to Build mode
Mar 16, 2026
f7de673
Migrate all email sending to emailTemplateService.renderEmail()
Mar 16, 2026
7f58e60
Migrate all email sending to emailTemplateService.renderEmail()
Mar 16, 2026
d390b7f
Migrate all email sending to emailTemplateService.renderEmail()
Mar 16, 2026
5e93ea2
Migrate all email sending to emailTemplateService.renderEmail()
Mar 16, 2026
c861913
Migrate all email sending to emailTemplateService.renderEmail()
Mar 16, 2026
89b8548
Migrate all email sending to emailTemplateService.renderEmail()
Mar 16, 2026
3ff8393
Migrate all email sending to emailTemplateService.renderEmail()
Mar 16, 2026
1985356
Improve application startup and add localhost production warning
Mar 16, 2026
e5480e7
Transitioned from Plan to Build mode
Mar 17, 2026
f498045
Task #6: Remove orange email header bar, restore clean card layout
Mar 17, 2026
d223640
Add consistent spacing to all email notifications
Mar 17, 2026
d150e08
Transitioned from Plan to Build mode
Mar 17, 2026
527db23
Add test cleanup: save/restore DB settings to prevent production poll…
Mar 17, 2026
4a73e74
Add test cleanup: save/restore DB settings to prevent production poll…
Mar 17, 2026
ac899b6
Task #9 + Email Template Improvements
Mar 17, 2026
78c325a
Update translation strings for logo deletion actions
Mar 17, 2026
f49299b
Update logo size expectations in email template tests
Mar 17, 2026
9c7b4c3
Transitioned from Plan to Build mode
Mar 17, 2026
e0abc4b
Email template design overhaul: contrast, logo, dark mode fixes
Mar 17, 2026
04c26ec
Email template design overhaul: contrast, logo, dark mode, container …
Mar 17, 2026
57691b5
Email template design overhaul: contrast, logo, dark mode, container …
Mar 17, 2026
6ae3774
Improve email templates with better dark mode color handling
Mar 17, 2026
eb2d0ae
Ensure test isolation by restoring database settings after each test run
Mar 17, 2026
fe5fcaf
Transitioned from Plan to Build mode
Mar 17, 2026
1914ad3
Fix email header rendering for empty siteName and improve test isolation
Mar 17, 2026
4dd9c9f
Add tests to ensure email logos are correctly rendered and branding i…
Mar 17, 2026
0fc48e8
Transitioned from Plan to Build mode
Mar 18, 2026
0d27143
Replace email rendering pipeline with V3 HTML template system
Mar 18, 2026
ff628c4
fix: logo restore after tests, Matrix "Coming Soon" UI, docs update (…
Mar 18, 2026
8690e9b
fix: standardize admin credentials β€” single source of truth, no fallb…
Mar 18, 2026
7d696d2
Transitioned from Plan to Build mode
Mar 18, 2026
36357e3
Complete Task #13 (Matrix Coming Soon, i18n, test isolation) and Task…
Mar 18, 2026
0e16daa
Task #14: Admin-Credentials vereinheitlichen (Single Source of Truth)
Mar 18, 2026
9e8e1a5
Task #14: Admin-Credentials vereinheitlichen (Single Source of Truth)
Mar 18, 2026
0ba7809
Update documentation for admin credential handling
Mar 18, 2026
8552960
Task #15: GitLab CI npm-Install HΓ€rtung (Pipeline-Resilience)
Mar 18, 2026
f0d2dcd
Fix incorrect translation key for logo upload status
Mar 18, 2026
1adb7cc
Add email notification settings and improve email branding consistency
Mar 18, 2026
9b20de2
Ensure branding settings are correctly restored after tests run
Mar 19, 2026
286d420
Update security and testing translations for ClamAV and admin features
Mar 19, 2026
d4d089c
Update admin credential management to use environment secrets
Mar 19, 2026
0a8ee13
Update documentation to remove sensitive admin credentials
Mar 19, 2026
c7981fb
Differentiate poll creation emails for registered and guest users
Mar 19, 2026
901a199
Published your App
Mar 19, 2026
b4b807c
Improve poll scheduling and fix test run status reporting
Mar 19, 2026
a60d8a9
Published your App
Mar 19, 2026
d15ae34
Update email system to use centralized footer and configurable privac…
Mar 19, 2026
cd112ae
Consolidate V3 email footer: central footer from settings, conditiona…
Mar 19, 2026
541275e
Consolidate V3 email footer: central footer from settings, conditiona…
Mar 19, 2026
07a03df
Consolidate V3 email footer: central footer from settings, conditiona…
Mar 19, 2026
530c8fa
Improve email footer security by escaping user-provided content
Mar 19, 2026
830fe70
Improve email template rendering by ensuring proper test cleanup
Mar 20, 2026
8979b1d
Transitioned from Plan to Build mode
Mar 20, 2026
e4b75bd
Disable email custom theme import, mark as "In Development"
Mar 20, 2026
f40e3e9
Improve visual cues for features in development
Mar 20, 2026
676bbdd
Make email theme editing interface appear less prominent
Mar 20, 2026
5c644d2
Enhance email footer with dynamic links and improved variable support
Mar 20, 2026
1df1839
Fix duplicate headers and footers in test emails
Mar 20, 2026
f9e9769
Improve email functionality by making headers clickable and removing …
Mar 20, 2026
eda447e
Fix footer links and improve email rendering for reliability
Mar 20, 2026
fbd617d
Improve email delivery by adding essential headers to sent messages
Mar 20, 2026
4306cbc
Consolidate email sending logic and add comprehensive testing
Mar 20, 2026
e398363
Transitioned from Plan to Build mode
Mar 24, 2026
fc9ec3d
Task #24: Schedule poll improvements - chronological sorting, finaliz…
Mar 24, 2026
3e13aac
Task #24: Schedule poll improvements - chronological sorting, finaliz…
Mar 24, 2026
75fa6c0
Task #24: Schedule poll improvements - chronological sorting, finaliz…
Mar 24, 2026
512875b
Add ability to finalize polls with email notifications and calendar i…
Mar 24, 2026
b12e35d
Transitioned from Plan to Build mode
Mar 25, 2026
d5d6055
feat: Add system-wide default language setting (Task #25)
Mar 25, 2026
c509605
feat: Add system-wide default language setting (Task #25)
Mar 25, 2026
b03ebdd
feat: Add system-wide default language setting (Task #25)
Mar 25, 2026
85834e9
Transitioned from Plan to Build mode
Mar 25, 2026
8728c18
Task #26: Fix finalize button visibility for all poll types & owners
Mar 25, 2026
5281535
Transitioned from Plan to Build mode
Mar 25, 2026
7fcf4d1
Task #27: Owner gets admin features on public URL
Mar 25, 2026
884aca0
Add comprehensive API documentation and update project reference
Mar 25, 2026
9725ce8
Transitioned from Plan to Build mode
Mar 25, 2026
db01f8b
Task #28: Calendar download and ICS export fixes
Mar 25, 2026
008446f
Task #28: Calendar download and ICS export fixes
Mar 25, 2026
27bae24
Update documentation with current project architecture and features
Mar 25, 2026
615214a
Published your App
Mar 25, 2026
d760f73
Transitioned from Plan to Build mode
Mar 25, 2026
d0f0064
Task #29: Fix Pentest-Tools Deep Scan Modus
Mar 25, 2026
4d9de51
Task #29: Fix Pentest-Tools Deep Scan Modus
Mar 25, 2026
cccf6e8
Improve security by removing inline scripts and strengthening cookie …
Mar 26, 2026
db11306
Published your App
Mar 26, 2026
ce32063
Add finalize button to best option and fix calendar event status
Mar 26, 2026
e1ebeda
Clean up calendar entries by canceling old poll options
Mar 26, 2026
07ed2a1
Transitioned from Plan to Build mode
Mar 26, 2026
342c9ae
feat: Add optional video conference URL field for schedule polls (Tas…
Mar 26, 2026
a7fe5d6
feat: Add optional video conference URL field for schedule polls (Tas…
Mar 26, 2026
fd3fbf8
feat: Add optional video conference URL field for schedule polls (Tas…
Mar 26, 2026
6ecece5
feat: Add optional video conference URL field for schedule polls (Tas…
Mar 26, 2026
5c32246
feat: Add optional video conference URL field for schedule polls (Tas…
Mar 26, 2026
35aa655
Task #31: Fix ICS calendar export β€” remove CANCELLED events, use suff…
Mar 26, 2026
ffba5ee
Remove duplicate date and time display from finalized poll confirmation
Mar 26, 2026
08f1631
Published your App
Mar 26, 2026
19ff3a0
Update video conference link text to avoid US services
Mar 26, 2026
527523c
Add labeled voting links to calendar event descriptions
Mar 26, 2026
9866b9a
Update calendar events to remove outdated entries automatically
Mar 26, 2026
dbb2b13
Improve calendar event creation by ensuring proper line formatting
Mar 27, 2026
fbacafb
Improve email deliverability with new headers and bulk settings
Mar 27, 2026
628c1f0
Fix TypeScript errors in AI and email services
Mar 31, 2026
591c6ec
Enhance security by validating file content and strengthening passwor…
Mar 31, 2026
8e234ff
Published your App
Apr 9, 2026
ff204af
Published your App
Apr 9, 2026
297dfae
Transitioned from Plan to Build mode
Apr 9, 2026
e0afc2b
fix(tests): resolve race conditions in auth test suite - all 55 tests…
Apr 9, 2026
aaffdc6
fix(tests): resolve race conditions in auth test suite - all 55 tests…
Apr 9, 2026
2f2480b
fix(tests): resolve race conditions in auth test suite - all 55 tests…
Apr 9, 2026
27d014e
Improve test data cleanup and admin account protection
Apr 9, 2026
d7ba66b
Fix test suite issues by removing unnecessary data cleanup
Apr 9, 2026
fc613e1
Add missing translations for vote editing functionality
Apr 9, 2026
d4edd3c
Add missing translations for improved multilingual support
Apr 9, 2026
b6db2ef
Add creator's email to finalization notifications
Apr 9, 2026
2330473
Update poll finalization to send emails for all poll types
Apr 9, 2026
e1cf53b
Transitioned from Plan to Build mode
Apr 10, 2026
574531c
fix(#35): connect End Poll notify toggle + send emails with content
Apr 10, 2026
65a7a33
fix(#35): connect End Poll notify toggle + send emails with content (…
Apr 10, 2026
8869967
Update email templates to improve formatting and add schedule poll no…
Apr 10, 2026
7f98d3a
Update documentation for the next beta release
Apr 10, 2026
70ea25c
Update documentation for specific version tags in Docker Hub
Apr 10, 2026
1a69de4
Improve file upload error handling and ensure admin login
Apr 10, 2026
8e4be3c
Ensure test environment admin account can log in
Apr 10, 2026
16956c0
Improve file upload security and test administrator access
Apr 10, 2026
23c8538
fix: globalSetup admin seeding via direct pg pool to bypass @shared a…
manfredsteger Apr 10, 2026
197a07f
fix(a11y): add aria-label to drag handle buttons in create-survey
manfredsteger Apr 13, 2026
1b1c0be
fix(tests): harden session isolation test against rate-limiter state …
manfredsteger Apr 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .agents/agent_assets_metadata.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
uploads = []
generated = []

[[outputs]]
id = "OQ6_BDrejb-HuZQVwzvnR"
uri = "file://.local/stack-analyse-polly.md"
type = "text"
title = "Stack-Analyse & Migrationsbericht: Polly β†’ Canonical Stack"

[[outputs]]
id = "32j2umQnmIB66UTjwerbv"
uri = "file://.local/polly-canonical-stack-abgleich.md"
type = "text"
title = "Polly vs. Canonical Stack β€” Release-Risikobewertung"
Binary file added .canvas/assets/asset_-595277047.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .canvas/assets/asset_559079389.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
112 changes: 86 additions & 26 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Polly - Environment Variables Template
# Copy this file to .env and fill in your values
#
# Variables prefixed with # are optional/commented out.
# Remove the # to activate them.

# ============================================
# REQUIRED
Expand All @@ -8,71 +11,128 @@
# PostgreSQL Database URL
DATABASE_URL=postgresql://polly:your_password@localhost:5432/polly

# Session secret (minimum 32 characters, use a random string)
# Session secret (minimum 32 characters, use: openssl rand -base64 32)
SESSION_SECRET=change-this-to-a-secure-random-string-at-least-32-chars

# ============================================
# APPLICATION URLs
# APPLICATION URL
# ============================================

# Public URL of your application
# Public URL of your application (used for OIDC redirects, email links, sharing)
APP_URL=http://localhost:5000
VITE_APP_URL=http://localhost:5000

# Legacy aliases (supported for backward compatibility, use APP_URL instead):
# BASE_URL, VITE_APP_URL

# ============================================
# EMAIL (SMTP) - Optional
# ============================================

# SMTP Server Configuration
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=your-email@example.com
SMTP_PASSWORD=your-email-password
# SMTP_HOST=smtp.example.com
# SMTP_PORT=587
# SMTP_SECURE=false
# SMTP_USER=your-email@example.com
# SMTP_PASSWORD=your-email-password

# Sender address and name for outgoing emails
# FROM_EMAIL=noreply@yourdomain.com
# FROM_NAME=Polly

# From address for outgoing emails
EMAIL_FROM=noreply@yourdomain.com
# Legacy alias: EMAIL_FROM (same as FROM_EMAIL)
# Legacy alias: SMTP_PASS (same as SMTP_PASSWORD)

# ============================================
# KEYCLOAK OIDC - Optional
# ============================================

# Enable enterprise SSO with Keycloak
KEYCLOAK_REALM=your-realm
KEYCLOAK_CLIENT_ID=polly
KEYCLOAK_CLIENT_SECRET=your-client-secret
KEYCLOAK_AUTH_SERVER_URL=https://keycloak.example.com
# KEYCLOAK_REALM=your-realm
# KEYCLOAK_CLIENT_ID=polly
# KEYCLOAK_CLIENT_SECRET=your-client-secret
# KEYCLOAK_AUTH_SERVER_URL=https://keycloak.example.com

# Full OIDC issuer URL (auto-derived from REALM + AUTH_SERVER_URL if not set)
# KEYCLOAK_ISSUER_URL=https://keycloak.example.com/realms/your-realm

# Custom SSO button label (shown on login page instead of "Login with Keycloak")
# SSO_BUTTON_LABEL=Kita Hub Login

# Hide the local username+password login form (default: false = form visible)
# Set to "true" to hide the local form when SSO is the primary login method
# HIDE_LOGIN_FORM=true

# Legacy alias: KEYCLOAK_URL (same as KEYCLOAK_AUTH_SERVER_URL)

# ============================================
# AI ASSISTANT - Optional (GWDG SAIA / OpenAI-compatible)
# ============================================

# AI API endpoint (OpenAI-compatible, e.g., GWDG SAIA)
# AI_API_URL=https://saia.2.rahtiapp.fi/v1

# AI API key β€” when set via ENV, AI chat is auto-enabled (no admin toggle needed)
# AI_API_KEY=your-ai-api-key

# Fallback AI API key (used when primary key hits rate limit HTTP 429)
# AI_API_KEY_FALLBACK=your-fallback-ai-api-key

# AI model name (default: llama-3.3-70b-instruct)
# AI_MODEL=llama-3.3-70b-instruct

# ============================================
# SECURITY SCANNING - Optional
# ============================================

# ClamAV Antivirus (for file upload scanning)
CLAMAV_ENABLED=false
CLAMAV_HOST=localhost
CLAMAV_PORT=3310
# CLAMAV_ENABLED=false
# CLAMAV_HOST=localhost
# CLAMAV_PORT=3310

# Pentest-Tools.com API (for vulnerability scanning)
PENTEST_TOOLS_API_KEY=your-api-key-here
# Pentest-Tools.com Pro API (for vulnerability scanning)
# PENTEST_TOOLS_API_TOKEN=your-api-token-here

# ============================================
# DOCKER COMPOSE ONLY
# DOCKER / INITIAL ADMIN - Optional
# ============================================

# PostgreSQL credentials (only used by docker-compose)
# PostgreSQL credentials (only used by docker-compose bundled PostgreSQL)
POSTGRES_USER=polly
POSTGRES_PASSWORD=polly_secret
POSTGRES_DB=polly

# Initial admin account (created/updated on Docker start)
# ADMIN_USERNAME=admin
# ADMIN_EMAIL=admin@polly.local
# ADMIN_PASSWORD=Admin123!

# Seed demo data on first start (true/false)
SEED_DEMO_DATA=false
# SEED_DEMO_DATA=false

# ============================================
# ADVANCED
# ============================================

# Node environment (development, production)
NODE_ENV=production
# NODE_ENV=production

# Server port (default: 5000)
# PORT=5000

# Enable SSL for database connections (e.g., managed PostgreSQL with TLS)
# DATABASE_SSL=true

# Force secure cookies even without HTTPS APP_URL (e.g., behind TLS-terminating proxy)
# FORCE_HTTPS=true

# Logging level: debug, info, warn, error (default: info in production, debug in development)
# LOG_LEVEL=info

# Chromium path for PDF export (auto-detected in Docker)
# PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium

# Disable WCAG default theme enforcement without branding.local.json
# POLLY_WCAG_OVERRIDE=true

# Port (default: 5000)
PORT=5000
# Custom header value for E2E test mode (default: polly-e2e-test-mode)
# TEST_MODE_SECRET=polly-e2e-test-mode
Loading
Loading