- Add CONTAINER_REGISTRY_URL and CONTAINER_TAG environment variables - Configure for Gitea registry at http://gitea-http.taildb3494.ts.net/will/unitforge - Add proper documentation and section formatting in .env.example - Set default tag to 'latest'
285 lines
9.4 KiB
Plaintext
285 lines
9.4 KiB
Plaintext
# UnitForge Environment Configuration
|
|
# Copy this file to .env and modify the values as needed
|
|
|
|
# =============================================================================
|
|
# APPLICATION INFORMATION
|
|
# =============================================================================
|
|
|
|
APP_NAME=UnitForge
|
|
APP_VERSION=1.0.0
|
|
APP_DESCRIPTION="Create, validate, and manage systemd unit files"
|
|
|
|
# =============================================================================
|
|
# EXTERNAL LINKS
|
|
# =============================================================================
|
|
|
|
GITHUB_URL=https://github.com/will666/unitforge
|
|
DOCUMENTATION_URL=https://unitforge.readthedocs.io/
|
|
BUG_REPORTS_URL=https://github.com/will666/unitforge/issues
|
|
|
|
# =============================================================================
|
|
# CONTACT INFORMATION
|
|
# =============================================================================
|
|
|
|
CONTACT_EMAIL=contact@unitforge.dev
|
|
|
|
# =============================================================================
|
|
# APPLICATION SETTINGS
|
|
# =============================================================================
|
|
|
|
DEBUG=false
|
|
ENVIRONMENT=production
|
|
LOG_LEVEL=info
|
|
|
|
# =============================================================================
|
|
# SERVER CONFIGURATION
|
|
# =============================================================================
|
|
|
|
HOST=0.0.0.0
|
|
PORT=8000
|
|
RELOAD=false
|
|
WORKERS=4
|
|
|
|
# =============================================================================
|
|
# API CONFIGURATION
|
|
# =============================================================================
|
|
|
|
API_TITLE="${APP_NAME}"
|
|
API_VERSION="${APP_VERSION}"
|
|
API_DESCRIPTION=${APP_DESCRIPTION}
|
|
DOCS_URL="/api/docs"
|
|
REDOC_URL="/api/redoc"
|
|
|
|
# =============================================================================
|
|
# SECURITY SETTINGS
|
|
# =============================================================================
|
|
|
|
# IMPORTANT: Generate a secure secret key for production
|
|
SECRET_KEY=your-secret-key-here
|
|
ALLOWED_HOSTS=["*"]
|
|
|
|
# =============================================================================
|
|
# CORS CONFIGURATION
|
|
# =============================================================================
|
|
|
|
# Use "*" for all origins or comma-separated list of allowed origins
|
|
# Examples:
|
|
# CORS_ORIGINS=*
|
|
# CORS_ORIGINS=["https://yourdomain.com", "https://www.yourdomain.com"]
|
|
CORS_ORIGINS=*
|
|
|
|
# =============================================================================
|
|
# DATABASE (Future Use)
|
|
# =============================================================================
|
|
|
|
# DATABASE_URL="sqlite:///./unitforge.db"
|
|
|
|
# =============================================================================
|
|
# FILE UPLOAD SETTINGS
|
|
# =============================================================================
|
|
|
|
# Maximum file upload size in bytes (1MB)
|
|
MAX_UPLOAD_SIZE=1048576
|
|
ALLOWED_EXTENSIONS=[".service", ".timer", ".socket", ".mount", ".target", ".path"]
|
|
|
|
# =============================================================================
|
|
# TEMPLATE SETTINGS
|
|
# =============================================================================
|
|
|
|
# Template cache time-to-live in seconds (5 minutes)
|
|
TEMPLATE_CACHE_TTL=300
|
|
# Validation cache time-to-live in seconds (1 minute)
|
|
VALIDATION_CACHE_TTL=60
|
|
|
|
# =============================================================================
|
|
# DEVELOPMENT TOOLS (Override for Development)
|
|
# =============================================================================
|
|
|
|
# Test options (development only)
|
|
# PYTEST_ADDOPTS="-v --tb=short --strict-markers"
|
|
# COVERAGE_REPORT_DIR="htmlcov"
|
|
# MYPY_CONFIG_FILE="pyproject.toml"
|
|
|
|
# =============================================================================
|
|
# UV PACKAGE MANAGER SETTINGS
|
|
# =============================================================================
|
|
|
|
# UV package manager cache directory
|
|
# UV_CACHE_DIR=".uv-cache"
|
|
# UV_PYTHON="python3"
|
|
|
|
# =============================================================================
|
|
# DOCKER SETTINGS
|
|
# =============================================================================
|
|
|
|
# Docker build settings
|
|
# DOCKER_BUILDKIT=1
|
|
# COMPOSE_DOCKER_CLI_BUILD=1
|
|
|
|
# =============================================================================
|
|
# CONTAINER REGISTRY CONFIGURATION
|
|
# =============================================================================
|
|
|
|
# Container registry URL for image publishing
|
|
CONTAINER_REGISTRY_URL=http://gitea-http.taildb3494.ts.net/will/unitforge
|
|
# Image tag for container builds
|
|
CONTAINER_TAG=latest
|
|
|
|
# =============================================================================
|
|
# PATHS
|
|
# =============================================================================
|
|
|
|
FRONTEND_DIR="frontend"
|
|
BACKEND_DIR="backend"
|
|
STATIC_DIR="frontend/static"
|
|
TEMPLATES_DIR="frontend/templates"
|
|
|
|
# =============================================================================
|
|
# FEATURE FLAGS
|
|
# =============================================================================
|
|
|
|
ENABLE_API_METRICS=false
|
|
ENABLE_REQUEST_LOGGING=true
|
|
ENABLE_TEMPLATE_CACHING=true
|
|
ENABLE_VALIDATION_CACHING=true
|
|
|
|
# =============================================================================
|
|
# PERFORMANCE SETTINGS
|
|
# =============================================================================
|
|
|
|
REQUEST_TIMEOUT=30
|
|
KEEPALIVE_TIMEOUT=5
|
|
MAX_CONNECTIONS=100
|
|
|
|
# =============================================================================
|
|
# LOGGING CONFIGURATION
|
|
# =============================================================================
|
|
|
|
LOG_FORMAT="%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|
|
LOG_DATE_FORMAT="%Y-%m-%d %H:%M:%S"
|
|
ACCESS_LOG=true
|
|
|
|
# =============================================================================
|
|
# DEVELOPMENT SERVER OPTIONS (Development Only)
|
|
# =============================================================================
|
|
|
|
# Development server auto-reload settings
|
|
# AUTO_RELOAD=false
|
|
# RELOAD_DIRS=["backend", "frontend"]
|
|
# RELOAD_DELAY=0.25
|
|
|
|
# =============================================================================
|
|
# TESTING CONFIGURATION
|
|
# =============================================================================
|
|
|
|
# Testing configuration
|
|
# TEST_DATABASE_URL="sqlite:///:memory:"
|
|
# TEST_PARALLEL=true
|
|
# TEST_COVERAGE_THRESHOLD=80
|
|
|
|
# =============================================================================
|
|
# CLI CONFIGURATION
|
|
# =============================================================================
|
|
|
|
CLI_VERBOSE=false
|
|
CLI_COLOR=true
|
|
CLI_PROGRESS=true
|
|
|
|
# =============================================================================
|
|
# VALIDATION SETTINGS
|
|
# =============================================================================
|
|
|
|
STRICT_VALIDATION=false
|
|
SHOW_WARNINGS=true
|
|
MAX_VALIDATION_ERRORS=50
|
|
|
|
# =============================================================================
|
|
# TEMPLATE GENERATION DEFAULTS
|
|
# =============================================================================
|
|
|
|
DEFAULT_USER="www-data"
|
|
DEFAULT_GROUP="www-data"
|
|
DEFAULT_RESTART_POLICY="on-failure"
|
|
DEFAULT_WANTED_BY="multi-user.target"
|
|
|
|
# =============================================================================
|
|
# SECURITY HEADERS
|
|
# =============================================================================
|
|
|
|
SECURITY_HEADERS=true
|
|
# HSTS max age in seconds (1 year)
|
|
HSTS_MAX_AGE=31536000
|
|
CSP_ENABLED=true
|
|
|
|
# =============================================================================
|
|
# MONITORING
|
|
# =============================================================================
|
|
|
|
HEALTH_CHECK_ENABLED=true
|
|
METRICS_ENABLED=false
|
|
TRACING_ENABLED=false
|
|
|
|
# =============================================================================
|
|
# ASSET OPTIMIZATION
|
|
# =============================================================================
|
|
|
|
HOT_RELOAD=false
|
|
SOURCE_MAPS=false
|
|
MINIFY_ASSETS=true
|
|
COMPRESS_RESPONSES=true
|
|
|
|
# =============================================================================
|
|
# DEVELOPMENT TOOLS (Development Only)
|
|
# =============================================================================
|
|
|
|
# Development editor and browser
|
|
# EDITOR="code"
|
|
# BROWSER="firefox"
|
|
|
|
# =============================================================================
|
|
# GIT HOOKS (Development Only)
|
|
# =============================================================================
|
|
|
|
# Git hooks configuration
|
|
# PRE_COMMIT_ENABLED=true
|
|
# AUTO_FORMAT=true
|
|
# AUTO_LINT=true
|
|
|
|
# =============================================================================
|
|
# DOCUMENTATION
|
|
# =============================================================================
|
|
|
|
DOCS_AUTO_RELOAD=false
|
|
API_DOCS_ENABLED=true
|
|
SWAGGER_UI_ENABLED=true
|
|
REDOC_ENABLED=true
|
|
|
|
# =============================================================================
|
|
# DEVELOPMENT OVERRIDES
|
|
# =============================================================================
|
|
# Uncomment the following lines for development:
|
|
|
|
# DEBUG=true
|
|
# ENVIRONMENT=development
|
|
# LOG_LEVEL=debug
|
|
# HOST=127.0.0.1
|
|
# RELOAD=true
|
|
# WORKERS=1
|
|
# API_TITLE="${APP_NAME} Development"
|
|
# API_VERSION="${APP_VERSION}-dev"
|
|
# SECRET_KEY="dev-secret-key-change-in-production"
|
|
# ALLOWED_HOSTS=["localhost", "127.0.0.1", "0.0.0.0", "::1"]
|
|
# CORS_ORIGINS=["http://localhost:3000", "http://localhost:8000", "http://127.0.0.1:8000"]
|
|
# ENABLE_API_METRICS=true
|
|
# AUTO_RELOAD=true
|
|
# RELOAD_DIRS=["backend", "frontend"]
|
|
# RELOAD_DELAY=0.25
|
|
# HOT_RELOAD=true
|
|
# SOURCE_MAPS=true
|
|
# MINIFY_ASSETS=false
|
|
# COMPRESS_RESPONSES=false
|
|
# SECURITY_HEADERS=false
|
|
# HSTS_MAX_AGE=0
|
|
# CSP_ENABLED=false
|
|
# DOCS_AUTO_RELOAD=true
|