# OpenVoiceOS Docker Compose Environment Configuration # Optimized version with improved defaults and documentation # Copy this file to .env and modify the values as needed # ============================================================================= # USER AND GROUP CONFIGURATION # ============================================================================= # Primary users (defined first to avoid circular references) OVOS_USER=ovos HIVEMIND_USER=hivemind # ============================================================================= # DISPLAY AND GRAPHICS CONFIGURATION # ============================================================================= # X11 Display configuration DISPLAY=:0 WAYLAND_DISPLAY=wayland-0 XDG_RUNTIME_DIR=/run/user/1000 # Qt/GUI Configuration QT_QPA_PLATFORM=eglfs QT_QPA_EGLFS_INTEGRATION=eglfs_kms QT_QPA_EGLFS_KMS_CONFIG=/home/ovos/.config/mycroft/ovos-eglfs.json # ============================================================================= # SYSTEM GROUP CONFIGURATION # ============================================================================= # System Group IDs (adjust based on your system) # Use: getent group | cut -d: -f3 INPUT_GID=102 RENDER_GID=106 VIDEO_GID=44 # Raspberry Pi specific Group IDs (only used on Pi) GPIO_GID=997 I2C_GID=994 SPI_GID=995 # ============================================================================= # DIRECTORY CONFIGURATION # ============================================================================= # OVOS directories OVOS_CONFIG_FOLDER=/home/ovos/ovos/config OVOS_CONFIG_PHAL_FOLDER=/home/ovos/ovos/config/phal OVOS_PERSONA_FOLDER=/home/ovos/ovos/config/persona OVOS_SHARE_FOLDER=/home/ovos/ovos/share TMP_FOLDER=/home/ovos/ovos/tmp # Hivemind directories HIVEMIND_CONFIG_FOLDER=/home/hivemind/hivemind/config HIVEMIND_CONFIG_PHAL_FOLDER=/home/hivemind/hivemind/config/phal HIVEMIND_SHARE_FOLDER=/home/hivemind/hivemind/share # ============================================================================= # DOCKER CONFIGURATION # ============================================================================= # Image version and pull policy VERSION=alpha PULL_POLICY=always # ============================================================================= # SYSTEM CONFIGURATION # ============================================================================= # Timezone configuration TZ=UTC # ============================================================================= # PLATFORM-SPECIFIC OVERRIDES # ============================================================================= # Uncomment and modify based on your platform: # For macOS: # PULSE_SERVER=docker.for.mac.host.internal # For Windows WSL: # PULSE_SERVER=/mnt/wslg/PulseServer # XDG_RUNTIME_DIR=/mnt/wslg # For standard Linux: # PULSE_SERVER=unix:/run/user/1000/pulse/native # ============================================================================= # RESOURCE LIMITS (Optional - uncomment to override defaults) # ============================================================================= # Memory limits for different service types # CORE_MEMORY_LIMIT=1G # STANDARD_MEMORY_LIMIT=512M # LIGHT_MEMORY_LIMIT=256M # CPU limits # CORE_CPU_LIMIT=1.0 # STANDARD_CPU_LIMIT=0.5 # ============================================================================= # ADVANCED CONFIGURATION # ============================================================================= # Health check intervals (uncomment to override defaults) # HEALTH_CHECK_INTERVAL=30s # HEALTH_CHECK_TIMEOUT=10s # HEALTH_CHECK_RETRIES=3 # Logging configuration # LOG_MAX_SIZE=200m # LOG_MAX_FILES=1 # ============================================================================= # SECURITY CONFIGURATION # ============================================================================= # Set to 'true' to enable additional security features # ENABLE_APPARMOR=false # ENABLE_SECCOMP=false # ============================================================================= # DEVELOPMENT CONFIGURATION # ============================================================================= # Development mode settings (uncomment for development) # DEV_MODE=false # DEBUG_LOGGING=false # ENABLE_PROFILING=false