Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
18 changes: 18 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
node_modules
.git
.github
dist
video
test
*.log
*.md
.env
.env.*
!.env.example
.DS_Store
.gitignore
.dockerignore
.eslintcache
coverage
.nyc_output
docs
49 changes: 49 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# ==============================================================================
# SHARED (Required for BOTH Production & Development)
# ==============================================================================

# Core System Services
PORT=3000
REDIS_URL=rediss://user:password@host:port
DATABASE_URL=postgresql://user:password@host:port/dbname
CORS_ORIGIN=*

# Azure Blob Storage (Shared Configuration)
AZURE_STORAGE_CONTAINER_NAME=video-assets
CONTAINER_DIRECTORY_1=encoded/hls/v1
AZURE_UPLOAD_BATCH_SIZE=20
AZURE_UPLOAD_RETRIES=3

# Queue Stability
WORKER_CONCURRENCY=1
JOB_LOCK_DURATION_MS=120000
JOB_LOCK_RENEW_MS=30000

# Video Pipeline Settings
# "SINGLE_FILE" (Byte-range fMP4) or "SEGMENTED" (Standard chunks)
HLS_OUTPUT_MODE="SEGMENTED"


# ==============================================================================
# PRODUCTION ONLY
# ==============================================================================
NODE_ENV=production

# Azure Managed Identity URL (Replaces the connection string in production for zero-trust security)
AZURE_STORAGE_ACCOUNT_URL=https://<your-storage-account-name>.blob.core.windows.net


# ==============================================================================
# DEVELOPMENT ONLY
# ==============================================================================
NODE_ENV=development

# Azure Connection String (Used locally before deploying to Managed Identity infrastructure)
AZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;AccountName=...

# Dev / Testing Overrides
# Truncates video source to N seconds to test pipelines quickly without rendering full video
TEST_DURATION_SECONDS=15

# Mock Payload Data (Used by test/queue-job.test.local.ts)
RAW_VIDEO_SOURCE_URL=http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4
13 changes: 13 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"semi": true,
"trailingComma": "all",
"singleQuote": true,
"printWidth": 100,
"tabWidth": 3,
"useTabs": false,
"arrowParens": "always",
"endOfLine": "lf",
"bracketSpacing": true,
"proseWrap": "always",
"embeddedLanguageFormatting": "auto"
}
Loading
Loading