# This file is managed by Ansible. # Set the timezone for all services to ensure consistency in logs. TZ=Europe/Moscow HOSTNAME="{{ inventory_hostname }}" SERVICE_ROLE={{ service_role }} {% if server_identity is defined %} SERVER_IDENTITY={{ server_identity }} {% endif %} # Passwords REDIS_PASSWORD="{{ vault_redis_password }}" POSTGRES_PASSWORD="{{ vault_postgres_password }}" # Common settings AIRFLOW_UID={{ airflow_uid | default(1003) }} AIRFLOW_GID={{ deploy_group_gid | default(1001) }} YTDLP_BASE_PORT={{ ytdlp_base_port }} REDIS_PORT={{ redis_port }} # Master-specific settings {% if 'master' in service_role or 'management' in service_role %} AIRFLOW_ADMIN_PASSWORD="{{ vault_airflow_admin_password }}" FLOWER_PASSWORD="{{ vault_flower_password }}" AIRFLOW_VAR_MASTER_HOST_IP={{ hostvars[groups['airflow_master'][0]].ansible_host }} # MASTER_HOST_IP is not needed on the master node itself for ytdlp-ops, # as it connects to Redis via the internal Docker service name 'redis'. # It is defined for workers to connect back to the master. # Camoufox is not used on master, but the config generator expects the variable. CAMOUFOX_PROXIES= {% endif %} # Worker-specific settings {% if 'worker' in service_role %} AIRFLOW_PROJ_DIR={{ airflow_worker_dir }} MASTER_HOST_IP={{ hostvars[groups['airflow_master'][0]].ansible_host }} # --- Envoy & Worker Configuration --- ENVOY_PORT={{ envoy_port }} ENVOY_ADMIN_PORT={{ envoy_admin_port }} MANAGEMENT_SERVICE_PORT={{ management_service_port }} YTDLP_WORKERS=4 # --- Camoufox (Browser) Configuration --- CAMOUFOX_PROXIES="{{ (worker_proxies | default([])) | join(',') }}" VNC_PASSWORD="{{ vault_vnc_password }}" CAMOUFOX_BASE_VNC_PORT={{ camoufox_base_vnc_port }} CAMOUFOX_PORT=12345 # --- Account Manager Configuration --- ACCOUNT_ACTIVE_DURATION_MIN=7 ACCOUNT_COOLDOWN_DURATION_MIN=30 {% endif %}