# Copyright © 2025-26 l5yth & contributors
# Licensed under the Apache License, Version 2.0 (see LICENSE)
#
# PotatoMesh Environment Configuration
# Copy this file to .env and customize for your setup

# =============================================================================
# REQUIRED SETTINGS
# =============================================================================

# Public domain name for this PotatoMesh instance (required for webapp)
# Provide a hostname (with optional port) that resolves to the web service.
# Example: mesh.example.org or mesh.example.org:41447
INSTANCE_DOMAIN="mesh.example.org"

# API authentication token (required for ingestor communication)
# Generate a secure token: openssl rand -hex 32
API_TOKEN="your-secure-api-token-here"

# Mesh radio connection target (required for ingestor)
# Common serial paths:
# - Linux: /dev/ttyACM0, /dev/ttyUSB0
# - macOS: /dev/cu.usbserial-*
# - Windows (WSL): /dev/ttyS*
# You may also provide an IP:PORT pair (e.g. 192.168.1.20:4403) or a
# Bluetooth address (e.g. ED:4D:9E:95:CF:60).
CONNECTION="/dev/ttyACM0"

# Mesh protocol to use (meshtastic or meshcore)
# Default: meshtastic
PROTOCOL="meshtastic"

# =============================================================================
# SITE CUSTOMIZATION
# =============================================================================

# Your mesh network name
SITE_NAME="My Meshtastic Network"

# Default Meshtastic channel
CHANNEL="#LongFast"

# Default frequency for your region
# Common frequencies: 868MHz (Europe), 915MHz (US), 433MHz (Worldwide)
FREQUENCY="915MHz"

# Map center coordinates (latitude, longitude)
# Berlin, Germany: 52.502889, 13.404194
# Denver, Colorado: 39.7392, -104.9903
# London, UK: 51.5074, -0.1278
MAP_CENTER="38.761944,-27.090833"

# Maximum distance to show nodes (kilometers)
MAX_DISTANCE=42

# =============================================================================
# OPTIONAL INTEGRATIONS
# =============================================================================

# Community chat link or Matrix room for your community (optional)
# Matrix aliases (e.g. #meshtastic-berlin:matrix.org) will be linked via matrix.to automatically.
CONTACT_LINK="#potatomesh:dod.ngo"

# Enable or disable PotatoMesh federation features (1=enabled, 0=disabled)
FEDERATION=1

# Hide public mesh messages from unauthenticated visitors (1=hidden, 0=public)
PRIVATE=0


# =============================================================================
# ADVANCED SETTINGS
# =============================================================================

# Debug mode (0=off, 1=on)
DEBUG=0

# Energy saving mode — sleep between ingestion cycles (0=off, 1=on)
ENERGY_SAVING=0

# Default map zoom override
# MAP_ZOOM=15

# Docker image architecture (linux-amd64, linux-arm64, linux-armv7)
POTATOMESH_IMAGE_ARCH="linux-amd64"

# Docker image tag (use "latest" for the newest release or pin to vX.Y)
POTATOMESH_IMAGE_TAG="latest"

# Docker Compose networking profile
# Leave unset for Linux hosts (default host networking).
# Set to "bridge" on Docker Desktop (macOS/Windows) if host networking
# is unavailable.
# COMPOSE_PROFILES="bridge"
