# mc-webui Environment Configuration
# Copy this file to .env and adjust values for your setup

# ============================================
# MeshCore Device Connection
# ============================================
# Three transport options: Serial (USB), TCP (network), or BLE (Bluetooth).
# Priority: BLE > TCP > Serial. Set the relevant variable to activate.

# --- Option A: Serial (default) ---
# Use "auto" for automatic detection (recommended if only one USB device)
# Or specify manually: /dev/serial/by-id/usb-xxx or /dev/ttyUSB0
# Find available devices: ls /dev/serial/by-id/
MC_SERIAL_PORT=auto

# --- Option B: TCP (e.g. remote device via ser2net, meshcore-proxy) ---
# Set the IP/hostname of the device to connect via TCP instead of serial.
# When MC_TCP_HOST is set, MC_SERIAL_PORT is ignored.
# MC_TCP_HOST=192.168.1.100
# MC_TCP_PORT=5555

# --- Option C: BLE (Bluetooth Low Energy companion devices) ---
# Requires: USB BLE dongle on host, BlueZ installed.
# The device MUST be paired and trusted on the host BEFORE starting mc-webui.
# See docs/meshcore_bluetooth_pairing.md for detailed setup instructions.
# When MC_BLE_ADDRESS is set, serial and TCP are ignored.
# MC_BLE_ADDRESS=AA:BB:CC:DD:EE:FF

# Your MeshCore device name (used for .msgs file)
# Use "auto" for automatic detection from device (recommended)
# Or specify manually: MarWoj, SP5XYZ, MyNode
MC_DEVICE_NAME=auto

# MeshCore configuration directory (where .msgs and settings files are stored)
# Default: ./data/meshcore (inside project directory)
# This directory is mounted as a Docker volume and shared between both containers
MC_CONFIG_DIR=./data/meshcore

# ============================================
# Application Settings
# ============================================

# Note: Auto-refresh is now intelligent and checks for new messages every 10 seconds
# No configuration needed - the system automatically updates UI only when new messages arrive
# Contact cleanup threshold is set directly in the UI (default: 48 hours)

# ============================================
# Archive Configuration
# ============================================

# Directory for storing archived messages
# Default: ./data/archive (inside project directory)
# This directory is mounted as a Docker volume for mc-webui container
MC_ARCHIVE_DIR=./data/archive

# Enable automatic daily archiving at midnight
MC_ARCHIVE_ENABLED=true

# Number of days to show in live view (older messages available in archives)
MC_ARCHIVE_RETENTION_DAYS=7

# ============================================
# Flask Server Configuration
# ============================================

# Listen on all interfaces (0.0.0.0) or specific IP
FLASK_HOST=0.0.0.0

# Port to expose the web interface
FLASK_PORT=5000

# Debug mode (true/false) - use false in production
FLASK_DEBUG=false

# ============================================
# System Configuration
# ============================================

# Timezone for container logs (default: UTC)
# Examples: Europe/Warsaw, America/New_York, Asia/Tokyo
TZ=Europe/Warsaw
