chat/.env.example
Ali Asadi d85be31e77 switch chat media messages to client-side MinIO uploads
Frontend now uploads media directly to MinIO and sends only the
resulting object_key; the backend never touches file bytes. Mattermost
post bodies carry "<type>:<object_key>" instead of a permanent public
URL, and download links are signed fresh on every read (send + list)
so they can't outlive their expiry. Also wires up MINIO_SECURE, which
settings.py previously never read from env.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 12:12:31 +03:30

46 lines
1.4 KiB
Text

# Database
DB_NAME=gooyal_chat
DB_USER=postgres
DB_HOST=127.0.0.1
DB_PASSWORD=
DB_PORT=5432
DEBUG=true
# OAuth2 / SSO provider
OAUTH2_PROVIDER_BASE_PUBLIC_URL=https://accounts.example.com/oauth2
OAUTH2_PROVIDER_BASE_PRIVATE_URL=https://accounts.example.com/oauth2
OAUTH2_PROVIDER_CLIENT_ID=
OAUTH2_PROVIDER_CLIENT_SECRET=
OAUTH2_PROVIDER_SCOPES=
# Redis (used for cache, channel layer, and long-poll)
REDIS_BASE_URL=redis://127.0.0.1:6379/1
# Mattermost
# MATTERMOST_TOKEN must be a Personal Access Token (not a session token — session tokens expire)
# Enable at: System Console → Integrations → Integration Management → Enable Personal Access Tokens
MATTERMOST_URL=https://chat.example.com
MATTERMOST_TOKEN=
MATTERMOST_TEAM_ID=
MATTERMOST_SERVICE_USERNAME=chat-service
MATTERMOST_SERVICE_EMAIL=chat-service@local.invalid
# MinIO object storage
# The frontend uploads media directly to MinIO and sends us only the
# resulting object key — these credentials are used solely to sign
# short-lived download URLs when messages are read back.
MINIO_ENDPOINT=localhost:9000
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
MINIO_BUCKET_CHAT=chat
MINIO_SECURE=false
MINIO_PRESIGN_EXPIRY_SECONDS=3600
# Chat long-poll tuning
CHAT_LONG_POLL_TIMEOUT_SECONDS=25
CHAT_LONG_POLL_INTERVAL_SECONDS=1
# Native library paths (macOS Homebrew — leave empty on Linux)
GDAL_LIBRARY_PATH=
GEOS_LIBRARY_PATH=