Enhance Docker and backend configurations for improved deployment
- Updated docker-compose.yml to include environment variable support for services, enhancing flexibility in configuration. - Refactored Dockerfile to utilize build arguments for VITE environment variables, allowing for better customization during builds. - Improved Nginx configuration to handle larger video uploads by increasing client_max_body_size to 5GB. - Enhanced backend Dockerfile to include wget for health checks and improved startup logging for database migrations. - Added validation for critical environment variables in the backend to ensure necessary configurations are present before application startup. - Updated content streaming logic to support direct HLS URL construction, improving streaming reliability and user experience. - Refactored various components and services to streamline access checks and improve error handling during content playback.
This commit is contained in:
107
.env.portainer
Normal file
107
.env.portainer
Normal file
@@ -0,0 +1,107 @@
|
||||
# ═══════════════════════════════════════════════════════════════
|
||||
# IndeeHub — Portainer Stack Environment Variables
|
||||
# ═══════════════════════════════════════════════════════════════
|
||||
#
|
||||
# Upload this file in Portainer: Stacks → Add Stack → "Load variables
|
||||
# from .env file" button (bottom of the environment variables section).
|
||||
#
|
||||
# Secrets below were auto-generated. Review and change DOMAIN /
|
||||
# FRONTEND_URL to match your server, then deploy.
|
||||
#
|
||||
# For local dev: docker compose -f docker-compose.dev.yml up
|
||||
# ═══════════════════════════════════════════════════════════════
|
||||
|
||||
# ── Networking ────────────────────────────────────────────────
|
||||
# CHANGE THESE to your actual domain
|
||||
DOMAIN=indee.tx1138.com
|
||||
FRONTEND_URL=https://indee.tx1138.com
|
||||
APP_PORT=7777
|
||||
|
||||
# ── PostgreSQL ────────────────────────────────────────────────
|
||||
POSTGRES_USER=indeedhub
|
||||
POSTGRES_PASSWORD=V1kKEPzvKuFqENfQQQKGMnXSgzS3HCY3
|
||||
POSTGRES_DB=indeedhub
|
||||
|
||||
# ── Redis ─────────────────────────────────────────────────────
|
||||
REDIS_PASSWORD=wWNOWmlYPKrFDMSWj1g7aEpX
|
||||
|
||||
# ── MinIO (self-hosted file storage) ──────────────────────────
|
||||
# MinIO runs as a Docker container in the stack. No AWS needed.
|
||||
# It stores uploaded videos, poster images, and HLS segments.
|
||||
MINIO_ROOT_USER=indeedhub-minio
|
||||
MINIO_ROOT_PASSWORD=jZWDalDHlaJ9JmywL05h8alf
|
||||
MINIO_CONSOLE_PORT=9001
|
||||
|
||||
# ── MinIO Connection (backend uses S3 protocol to talk to MinIO)
|
||||
# These MUST match the MinIO credentials above.
|
||||
S3_ENDPOINT=http://minio:9000
|
||||
AWS_REGION=us-east-1
|
||||
S3_ACCESS_KEY=indeedhub-minio
|
||||
S3_SECRET_KEY=jZWDalDHlaJ9JmywL05h8alf
|
||||
S3_PRIVATE_BUCKET=indeedhub-private
|
||||
S3_PUBLIC_BUCKET=indeedhub-public
|
||||
# CHANGE to your domain — files are served via the nginx /storage/ proxy
|
||||
S3_PUBLIC_BUCKET_URL=https://indee.tx1138.com/storage/
|
||||
|
||||
# ── CloudFront (not needed — MinIO serves files directly) ────
|
||||
CLOUDFRONT_PRIVATE_KEY=
|
||||
CLOUDFRONT_KEY_PAIR_ID=
|
||||
CLOUDFRONT_DISTRIBUTION_URL=
|
||||
|
||||
# ── BTCPay Server (Bitcoin/Lightning Payments) ───────────────
|
||||
BTCPAY_URL=https://shop.tx1138.com
|
||||
BTCPAY_API_KEY=34cf1a41aba967f24f374c247fdb67e81fc303ff
|
||||
BTCPAY_STORE_ID=72jsCiD7m2U8dDJRU5W5STBSrRScLbxfiSaPBhLXukem
|
||||
BTCPAY_WEBHOOK_SECRET=36YdN12LB9vhKAi9bhbWe5wT4oa3
|
||||
BTCPAY_ROUTE_HINTS=false
|
||||
|
||||
# ── Security Secrets (auto-generated) ────────────────────────
|
||||
NOSTR_JWT_SECRET=9ea6d10ae3b74cfe90f5d5dc0494fe20bbc06e0f2cef43649cced6ce8fbaf66d
|
||||
NOSTR_JWT_EXPIRES_IN=7d
|
||||
AES_MASTER_SECRET=639a0a363d9ab6d31407ba4ec874b8ab
|
||||
|
||||
# ── SMTP / Email (leave empty to disable) ────────────────────
|
||||
SMTP_HOST=
|
||||
SMTP_PORT=587
|
||||
SMTP_USER=
|
||||
SMTP_PASS=
|
||||
MAIL_FROM=noreply@tx1138.com
|
||||
|
||||
# ── SendGrid (alternative to SMTP, leave empty if not using) ─
|
||||
SENDGRID_API_KEY=
|
||||
SENDGRID_SENDER=
|
||||
|
||||
# ── Cognito (not needed — using Nostr auth) ──────────────────
|
||||
COGNITO_USER_POOL_ID=
|
||||
COGNITO_CLIENT_ID=
|
||||
|
||||
# ── Flash Subscription Secrets (leave empty if not using) ────
|
||||
FLASH_JWT_SECRET_ENTHUSIAST=
|
||||
FLASH_JWT_SECRET_FILM_BUFF=
|
||||
FLASH_JWT_SECRET_CINEPHILE=
|
||||
FLASH_JWT_SECRET_RSS_ADDON=
|
||||
FLASH_JWT_SECRET_VERIFICATION_ADDON=
|
||||
|
||||
# ── Transcoding API (leave empty — uses built-in FFmpeg) ─────
|
||||
TRANSCODING_API_KEY=
|
||||
TRANSCODING_API_URL=
|
||||
|
||||
# ── Analytics & Monitoring (leave empty to disable) ──────────
|
||||
POSTHOG_API_KEY=
|
||||
SENTRY_ENVIRONMENT=production
|
||||
|
||||
# ── DRM (not needed — using AES-128 HLS encryption) ─────────
|
||||
DRM_SECRET_NAME=
|
||||
PRIVATE_AUTH_CERTIFICATE_KEY_ID=
|
||||
|
||||
# ── Podping (leave empty to disable) ─────────────────────────
|
||||
PODPING_URL=
|
||||
PODPING_KEY=
|
||||
PODPING_USER_AGENT=
|
||||
|
||||
# ── Admin Dashboard ───────────────────────────────────────────
|
||||
ADMIN_API_KEY=c45fc7deda784dafadf0ce6b98d808e49b84892a
|
||||
|
||||
# ── Partner Content (leave empty if not using) ────────────────
|
||||
PARTNER_API_BASE_URL=
|
||||
PARTNER_API_KEY=
|
||||
Reference in New Issue
Block a user