Files
ridebus-admin/.env.example
Zakhar Timoshenko f7f0b039dd Add Telegram cancellation import functionality with tests and documentation
- Implemented Telegram cancellation parsing logic in `telegramCancellationParser.js`.
- Created unit tests for cancellation parsing in `telegramCancellationParser.test.js`.
- Developed integration tests for Telegram import service in `telegramImport.integration.test.js`.
- Added API tests for Telegram import endpoints in `telegramImportApi.test.js`.
- Introduced service tests for Telegram import logic in `telegramImportService.test.js`.
- Documented the Telegram cancellation import process in `telegram-cancellation-import.md`.
- Built a React component for managing Telegram imports in `TelegramImportPanel.jsx`.
2026-10-03 00:45:41 +03:00

67 lines
2.4 KiB
Plaintext

# Database
DB_PASSWORD=your_secure_password_here
# API Configuration
API_KEY_SALT=generate_random_salt_with_openssl
CORS_ORIGIN=http://localhost:3001
# Backend runtime (used when starting backend directly, outside Docker Compose)
PORT=3000
DATABASE_URL=postgresql://transit_admin:your_secure_password_here@localhost:5432/polotsk_transit
REDIS_URL=redis://localhost:6379
JWT_SECRET=replace_with_a_long_random_string
# Passkeys (WebAuthn). HTTP works only on localhost; production requires HTTPS.
WEBAUTHN_RP_NAME=RideBus DE
WEBAUTHN_RP_ID=localhost
WEBAUTHN_ORIGIN=http://localhost,http://localhost:3001
# Firebase Cloud Messaging (server-side alert notifications)
# Keep disabled to run without Firebase credentials.
FCM_ENABLED=false
FCM_TOPIC=route_alerts
FCM_ANDROID_CHANNEL_ID=route_alerts
FIREBASE_PROJECT_ID=
# Directory on the Docker host (VM/LXC inside Proxmox), mounted read-only.
FIREBASE_SECRETS_DIR=/opt/polotsk-transit/secrets
# Path inside the backend container. For a direct Node.js launch, replace it
# with the absolute host path to the JSON file.
GOOGLE_APPLICATION_CREDENTIALS=/run/secrets/firebase-service-account.json
# Telegram cancellation import through a separate user account (MTProto).
# Get API credentials at my.telegram.org. Never put a session in the checkout.
TELEGRAM_IMPORT_ENABLED=false
TELEGRAM_AUTO_PUBLISH=true
TELEGRAM_API_ID=
TELEGRAM_API_HASH=
TELEGRAM_CHANNEL=avp2Polotsk
TELEGRAM_CITY_SLUG=polotsk
TELEGRAM_POLL_INTERVAL_MS=60000
# Host directory, mounted read-only into the backend container.
TELEGRAM_SECRETS_DIR=/opt/polotsk-transit/telegram-secrets
# For direct Node.js launches, replace this with the absolute host path.
TELEGRAM_SESSION_FILE=/run/telegram-secrets/account.session
# Bootstrap admin
BOOTSTRAP_ADMIN=true
BOOTSTRAP_ADMIN_RESET_PASSWORD=false
ADMIN_USERNAME=admin
ADMIN_PASSWORD=change_this_admin_password
ADMIN_FULL_NAME=Main administrator
ADMIN_EMAIL=admin@polotsk-transit.local
# Frontend
API_URL=/api/v1
# Required by the passenger telemetry endpoint to verify Firebase ID tokens.
# Use the same Firebase project as the mobile app; keep the service account JSON outside the repo.
FIREBASE_PROJECT_ID=your-firebase-project-id
GOOGLE_APPLICATION_CREDENTIALS=/absolute/private/path/firebase-service-account.json
# Production settings (uncomment for production)
# NODE_ENV=production
# CORS_ORIGIN=https://admin.yourdomain.com
# API_URL=/api/v1
# WEBAUTHN_RP_ID=admin.yourdomain.com
# WEBAUTHN_ORIGIN=https://admin.yourdomain.com