new folder structure
This commit is contained in:
44
config/development/config.json
Normal file
44
config/development/config.json
Normal file
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"database": {
|
||||
"url": "sqlite:///data/database/anime_dev.db",
|
||||
"pool_size": 5,
|
||||
"max_overflow": 10,
|
||||
"echo": true
|
||||
},
|
||||
"redis": {
|
||||
"url": "redis://localhost:6379/1",
|
||||
"socket_timeout": 10,
|
||||
"socket_connect_timeout": 10,
|
||||
"max_connections": 10
|
||||
},
|
||||
"logging": {
|
||||
"level": "DEBUG",
|
||||
"format": "detailed",
|
||||
"log_to_file": true,
|
||||
"log_to_console": true
|
||||
},
|
||||
"security": {
|
||||
"session_timeout": 86400,
|
||||
"csrf_enabled": false,
|
||||
"secure_cookies": false,
|
||||
"debug_mode": true
|
||||
},
|
||||
"performance": {
|
||||
"cache_timeout": 300,
|
||||
"enable_compression": false,
|
||||
"debug_toolbar": true
|
||||
},
|
||||
"downloads": {
|
||||
"max_concurrent": 3,
|
||||
"timeout": 1800,
|
||||
"retry_attempts": 2,
|
||||
"download_path": "data/temp/downloads",
|
||||
"temp_path": "data/temp"
|
||||
},
|
||||
"development": {
|
||||
"auto_reload": true,
|
||||
"debug_mode": true,
|
||||
"profiler_enabled": true,
|
||||
"mock_external_apis": false
|
||||
}
|
||||
}
|
||||
28
config/docker/development.env
Normal file
28
config/docker/development.env
Normal file
@@ -0,0 +1,28 @@
|
||||
# Development Environment Variables
|
||||
FLASK_ENV=development
|
||||
DEBUG=True
|
||||
|
||||
# Database
|
||||
DATABASE_URL=sqlite:///data/database/anime_dev.db
|
||||
|
||||
# Redis
|
||||
REDIS_URL=redis://redis:6379/1
|
||||
|
||||
# Security
|
||||
SECRET_KEY=dev-secret-key
|
||||
SESSION_TIMEOUT=86400
|
||||
|
||||
# Logging
|
||||
LOG_LEVEL=DEBUG
|
||||
LOG_FORMAT=detailed
|
||||
|
||||
# Performance
|
||||
CACHE_TIMEOUT=300
|
||||
|
||||
# Downloads
|
||||
DOWNLOAD_PATH=/app/data/temp/downloads
|
||||
MAX_CONCURRENT_DOWNLOADS=3
|
||||
|
||||
# Development
|
||||
AUTO_RELOAD=true
|
||||
DEBUG_TOOLBAR=true
|
||||
31
config/docker/production.env
Normal file
31
config/docker/production.env
Normal file
@@ -0,0 +1,31 @@
|
||||
# Production Environment Variables
|
||||
FLASK_ENV=production
|
||||
DEBUG=False
|
||||
|
||||
# Database
|
||||
DATABASE_URL=postgresql://aniworld:password@postgres:5432/aniworld_prod
|
||||
DATABASE_POOL_SIZE=20
|
||||
|
||||
# Redis
|
||||
REDIS_URL=redis://redis:6379/0
|
||||
|
||||
# Security
|
||||
SECRET_KEY=change-this-in-production
|
||||
SESSION_TIMEOUT=3600
|
||||
CSRF_TOKEN_TIMEOUT=3600
|
||||
|
||||
# Logging
|
||||
LOG_LEVEL=INFO
|
||||
LOG_FORMAT=json
|
||||
|
||||
# Performance
|
||||
CACHE_TIMEOUT=3600
|
||||
MAX_WORKERS=4
|
||||
|
||||
# Downloads
|
||||
DOWNLOAD_PATH=/app/downloads
|
||||
MAX_CONCURRENT_DOWNLOADS=10
|
||||
|
||||
# Monitoring
|
||||
HEALTH_CHECK_ENABLED=true
|
||||
METRICS_ENABLED=true
|
||||
28
config/docker/testing.env
Normal file
28
config/docker/testing.env
Normal file
@@ -0,0 +1,28 @@
|
||||
# Testing Environment Variables
|
||||
FLASK_ENV=testing
|
||||
DEBUG=False
|
||||
TESTING=True
|
||||
|
||||
# Database
|
||||
DATABASE_URL=sqlite:///data/database/anime_test.db
|
||||
|
||||
# Redis
|
||||
REDIS_URL=redis://redis:6379/2
|
||||
|
||||
# Security
|
||||
SECRET_KEY=test-secret-key
|
||||
WTF_CSRF_ENABLED=False
|
||||
|
||||
# Logging
|
||||
LOG_LEVEL=WARNING
|
||||
|
||||
# Performance
|
||||
CACHE_TIMEOUT=60
|
||||
|
||||
# Downloads
|
||||
DOWNLOAD_PATH=/app/data/temp/test_downloads
|
||||
MAX_CONCURRENT_DOWNLOADS=1
|
||||
|
||||
# Testing
|
||||
MOCK_EXTERNAL_APIS=true
|
||||
FAST_MODE=true
|
||||
50
config/production/config.json
Normal file
50
config/production/config.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"database": {
|
||||
"url": "postgresql://user:password@localhost/aniworld_prod",
|
||||
"pool_size": 20,
|
||||
"max_overflow": 30,
|
||||
"pool_timeout": 30,
|
||||
"pool_recycle": 3600
|
||||
},
|
||||
"redis": {
|
||||
"url": "redis://redis-prod:6379/0",
|
||||
"socket_timeout": 5,
|
||||
"socket_connect_timeout": 5,
|
||||
"retry_on_timeout": true,
|
||||
"max_connections": 50
|
||||
},
|
||||
"logging": {
|
||||
"level": "INFO",
|
||||
"format": "json",
|
||||
"file_max_size": "50MB",
|
||||
"backup_count": 10,
|
||||
"log_to_file": true,
|
||||
"log_to_console": false
|
||||
},
|
||||
"security": {
|
||||
"session_timeout": 3600,
|
||||
"csrf_enabled": true,
|
||||
"secure_cookies": true,
|
||||
"max_login_attempts": 5,
|
||||
"login_lockout_duration": 900
|
||||
},
|
||||
"performance": {
|
||||
"cache_timeout": 3600,
|
||||
"enable_compression": true,
|
||||
"max_request_size": "16MB",
|
||||
"request_timeout": 30
|
||||
},
|
||||
"downloads": {
|
||||
"max_concurrent": 10,
|
||||
"timeout": 3600,
|
||||
"retry_attempts": 3,
|
||||
"download_path": "/app/downloads",
|
||||
"temp_path": "/app/temp"
|
||||
},
|
||||
"monitoring": {
|
||||
"health_check_interval": 60,
|
||||
"metrics_enabled": true,
|
||||
"performance_monitoring": true,
|
||||
"error_reporting": true
|
||||
}
|
||||
}
|
||||
40
config/testing/config.json
Normal file
40
config/testing/config.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"database": {
|
||||
"url": "sqlite:///data/database/anime_test.db",
|
||||
"pool_size": 1,
|
||||
"echo": false
|
||||
},
|
||||
"redis": {
|
||||
"url": "redis://localhost:6379/2",
|
||||
"socket_timeout": 5,
|
||||
"max_connections": 5
|
||||
},
|
||||
"logging": {
|
||||
"level": "WARNING",
|
||||
"format": "simple",
|
||||
"log_to_file": false,
|
||||
"log_to_console": true
|
||||
},
|
||||
"security": {
|
||||
"session_timeout": 3600,
|
||||
"csrf_enabled": false,
|
||||
"secure_cookies": false,
|
||||
"testing": true
|
||||
},
|
||||
"performance": {
|
||||
"cache_timeout": 60,
|
||||
"enable_compression": false
|
||||
},
|
||||
"downloads": {
|
||||
"max_concurrent": 1,
|
||||
"timeout": 30,
|
||||
"retry_attempts": 1,
|
||||
"download_path": "data/temp/test_downloads",
|
||||
"temp_path": "data/temp/test"
|
||||
},
|
||||
"testing": {
|
||||
"mock_external_apis": true,
|
||||
"fast_mode": true,
|
||||
"cleanup_after_tests": true
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user