-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy path.env.example
More file actions
184 lines (144 loc) · 5.55 KB
/
.env.example
File metadata and controls
184 lines (144 loc) · 5.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
# Rendiff - Production Environment Configuration
# A REST API layer powered by FFmpeg for media processing
# Copy this file to .env and configure for your environment
# =============================================================================
# CORE APPLICATION SETTINGS
# =============================================================================
# Application Environment
DEBUG=false
TESTING=false
VERSION=1.0.0
# API Server Configuration
API_HOST=0.0.0.0
API_PORT=8000
API_WORKERS=4
API_RELOAD=false
API_LOG_LEVEL=info
# =============================================================================
# DATABASE CONFIGURATION
# =============================================================================
# Production PostgreSQL (Recommended)
DATABASE_URL=postgresql://rendiff_user:your_secure_password@postgres:5432/rendiff
# Alternative: SQLite (Development Only)
# DATABASE_URL=sqlite+aiosqlite:///data/rendiff.db
# Database Pool Settings
DATABASE_POOL_SIZE=20
DATABASE_MAX_OVERFLOW=40
# =============================================================================
# QUEUE & CACHE CONFIGURATION
# =============================================================================
# Redis Configuration
REDIS_URL=redis://redis:6379/0
REDIS_MAX_CONNECTIONS=100
# Worker Configuration
WORKER_CONCURRENCY=4
WORKER_PREFETCH_MULTIPLIER=1
WORKER_MAX_TASKS_PER_CHILD=100
WORKER_TASK_TIME_LIMIT=21600
# =============================================================================
# STORAGE CONFIGURATION
# =============================================================================
# Storage Paths
STORAGE_CONFIG=/app/config/storage.yml
STORAGE_PATH=./storage
TEMP_PATH=/tmp/rendiff
# Data Persistence Paths (for Docker volumes)
POSTGRES_DATA_PATH=./data/postgres
REDIS_DATA_PATH=./data/redis
PROMETHEUS_DATA_PATH=./data/prometheus
GRAFANA_DATA_PATH=./data/grafana
# =============================================================================
# FFMPEG & PROCESSING CONFIGURATION
# =============================================================================
# FFmpeg Settings
FFMPEG_THREADS=0
FFMPEG_PRESET=medium
FFMPEG_CRF=23
FFMPEG_HARDWARE_ACCELERATION=auto
# =============================================================================
# SECURITY & AUTHENTICATION
# =============================================================================
# API Security
API_KEY_HEADER=X-API-Key
ENABLE_API_KEYS=true
ENABLE_IP_WHITELIST=false
IP_WHITELIST=10.0.0.0/8,192.168.0.0/16
# Admin API Keys (comma-separated)
ADMIN_API_KEYS=your_admin_key_here
# Rate Limiting
ENABLE_RATE_LIMITING=true
RATE_LIMIT_CALLS=2000
RATE_LIMIT_PERIOD=3600
# CORS Origins (comma-separated)
API_CORS_ORIGINS=http://localhost,https://localhost,https://yourdomain.com
API_TRUSTED_HOSTS=localhost,yourdomain.com
# Database Passwords
POSTGRES_PASSWORD=your_secure_postgres_password
# =============================================================================
# MONITORING & OBSERVABILITY
# =============================================================================
# Metrics & Monitoring
ENABLE_METRICS=true
METRICS_PORT=9000
ENABLE_TRACING=false
TRACING_ENDPOINT=
# Grafana Configuration
GRAFANA_PASSWORD=your_secure_grafana_password
# =============================================================================
# RESOURCE LIMITS
# =============================================================================
# Upload & Processing Limits
MAX_UPLOAD_SIZE=10737418240
MAX_JOB_DURATION=21600
MAX_CONCURRENT_JOBS_PER_KEY=10
MAX_OPERATIONS_PER_JOB=50
JOB_RETENTION_DAYS=7
# =============================================================================
# WEBHOOKS & NOTIFICATIONS
# =============================================================================
# Webhook Configuration
WEBHOOK_TIMEOUT=30
WEBHOOK_MAX_RETRIES=3
WEBHOOK_RETRY_DELAY=60
# =============================================================================
# OPTIONAL SERVICES
# =============================================================================
# Virus Scanning (Optional)
ENABLE_VIRUS_SCAN=false
CLAMAV_HOST=
CLAMAV_PORT=3310
# =============================================================================
# DEPLOYMENT SPECIFIC
# =============================================================================
# Docker Compose Profiles
# Uncomment the profile you want to use:
# COMPOSE_PROFILES=standard # Standard CPU-only deployment
# COMPOSE_PROFILES=gpu # GPU-accelerated deployment
# COMPOSE_PROFILES=monitoring # Include Prometheus/Grafana
# COMPOSE_PROFILES=gpu,monitoring # GPU + Monitoring
# Network Configuration
# COMPOSE_PROJECT_NAME=rendiff
# =============================================================================
# CLOUD STORAGE (Optional)
# =============================================================================
# AWS S3
# AWS_ACCESS_KEY_ID=your_access_key
# AWS_SECRET_ACCESS_KEY=your_secret_key
# AWS_DEFAULT_REGION=us-west-2
# S3_BUCKET_NAME=your-video-bucket
# Azure Blob Storage
# AZURE_STORAGE_ACCOUNT=your_account
# AZURE_STORAGE_KEY=your_key
# AZURE_CONTAINER_NAME=videos
# Google Cloud Storage
# GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
# GCS_BUCKET_NAME=your-video-bucket
# =============================================================================
# SSL/TLS CONFIGURATION
# =============================================================================
# SSL Certificate Paths (for production)
# SSL_CERT_PATH=/etc/ssl/certs/your-cert.crt
# SSL_KEY_PATH=/etc/ssl/private/your-key.key
# Let's Encrypt (for automatic SSL)
# LETSENCRYPT_EMAIL=admin@yourdomain.com
# LETSENCRYPT_HOST=yourdomain.com