Skip to main content

Settings

Configure EdgeFlow system settings, security, network, and preferences

Overview

EdgeFlow provides comprehensive settings to customize your installation. Settings are organized into categories for system configuration, security, network, hardware interfaces, and editor preferences.

Settings

Save Changes
General
Network
Security
Hardware
MQTT
Database
Editor
Logging

General Settings

0.0.0.0
8080
Standard

General Settings

Core server and runtime configuration.

Setting Default Description
Server Host 0.0.0.0 IP address the server listens on (0.0.0.0 = all interfaces)
Server Port 8080 HTTP server port number
Read Timeout 30s Maximum time for reading request
Write Timeout 30s Maximum time for writing response
Max Concurrent Executions 100 Maximum simultaneous flow executions
Execution Timeout 5m Maximum time for a single execution
Timezone UTC Server timezone for scheduled tasks

Build Profiles

EdgeFlow offers three build profiles optimized for different hardware capabilities:

Minimal

Raspberry Pi Zero, 512MB RAM

Binary Size10MB
RAM Usage80MB
Max Flows5
Nodes/Flow20

Standard

Raspberry Pi 3/4, 1GB RAM

Binary Size20MB
RAM Usage200MB
Max Flows20
Nodes/Flow100

Full

Raspberry Pi 4/5, 2GB+ RAM

Binary Size40MB
RAM Usage400MB
Max Flows100
Nodes/Flow500

Network Settings

Configure network connectivity for your EdgeFlow device.

Connection Type

Option Description
Ethernet Wired connection via RJ45 port
WiFi Wireless connection (requires compatible adapter)

IP Configuration

Mode Description
DHCP Automatic IP assignment from router (recommended)
Static Manual IP address, subnet mask, gateway, and DNS
Link-local Auto-configured local address (169.254.x.x)

DNS Providers

Pre-configured DNS options for quick setup:

  • Google DNS - 8.8.8.8, 8.8.4.4
  • Cloudflare DNS - 1.1.1.1, 1.0.0.1
  • OpenDNS - 208.67.222.222, 208.67.220.220
  • Quad9 - 9.9.9.9, 149.112.112.112
  • AdGuard - 94.140.14.14, 94.140.15.15

WiFi Settings

When using WiFi, configure:

  • Network Name (SSID) - Scan for available networks
  • Password - Network security key
  • Country - WiFi regulatory domain (US, GB, DE, FR, JP, etc.)
  • Security Type - WPA2, WPA3, WPA2-Enterprise (auto-detected)

Security Settings

Protect your EdgeFlow installation with authentication.

Authentication Methods

JWT JSON Web Tokens

Session-based authentication for web UI and API access.

Expiration24 hours
Issueredgeflow
AlgorithmHS256

API Key Service Authentication

Token-based authentication for external integrations.

Formatefk_*
StorageSHA256 hashed
HeaderX-API-Key

Security Configuration

Setting Default Description
Security Enabled false Enable authentication (recommended for production)
JWT Secret - Secret key for signing tokens (change in production!)
JWT Expiry 24h Token validity period
API Key Enabled false Allow API key authentication
⚠️ Production Security

Always enable security and change the default JWT secret before deploying to production. Use strong, randomly generated secrets.

API Key Management

Create and manage API keys for external services:

  1. Navigate to Settings → Security → API Keys
  2. Click Generate New Key
  3. Enter a descriptive name and set permissions
  4. Optionally set an expiration date
  5. Copy the key immediately (it won't be shown again)

Hardware Settings

Enable hardware interfaces for GPIO and sensor access.

Hardware Interfaces

🔌
GPIO
Digital I/O
Enabled
📡
I2C
Sensors
Enabled
SPI
High-speed
Disabled
🔗
UART
Serial
Disabled
🌡️
1-Wire
Temp Sensors
Disabled
🎛️
PWM
Motors/LEDs
Enabled
Interface Use Case Notes
GPIO Digital input/output, buttons, relays Auto-detected on Raspberry Pi
I2C Sensors, displays, ADC/DAC Enable in raspi-config
SPI High-speed displays, ADC, flash memory Enable in raspi-config
UART/Serial GPS modules, modems, other serial devices Disable serial console first
1-Wire DS18B20 temperature sensors Uses GPIO4 by default
PWM Motor speed, LED brightness, servo control Hardware PWM on specific pins

MQTT Settings

Configure the MQTT message broker for IoT communication.

Broker Options

Option Description
Built-in Broker Uses bundled Mosquitto broker (recommended for standalone use)
External Broker Connect to HiveMQ, EMQX, AWS IoT Core, or self-hosted

External Broker Configuration

Setting Description
Broker Address Hostname or IP of MQTT broker
Port 1883 (unencrypted) or 8883 (TLS)
Username Authentication username (optional)
Password Authentication password (optional)
TLS/SSL Enable encrypted connection
Client ID Unique identifier for this client

Database Settings

Configure where EdgeFlow stores flows and execution data.

Supported Databases

Database Use Case Configuration
SQLite Default, single-file, no setup Path: ./data/edgeflow.db
PostgreSQL Production, multi-user, remote Host, port, user, password, database name, SSL mode
MySQL Alternative relational database Host, port, user, password, database name
MongoDB Document storage, flexible schema Connection URI
Redis Cache, session storage, context Host, port, password, database number
💡 Recommendation

SQLite is perfect for single-device deployments. Use PostgreSQL when you need remote access, multi-user support, or enterprise reliability.

Editor Preferences

Customize the flow editor appearance and behavior.

Appearance

Setting Options Default
Theme Light, Dark, System System
Language English, Persian (فارسی), Arabic (العربية) English
Show Minimap On/Off On

Editor Behavior

Setting Description Default
Auto Save Automatically save changes Enabled
Auto Save Interval Seconds between auto-saves 30s
Grid Snap Snap nodes to grid Enabled
Grid Size Grid spacing in pixels 15px
Editor Zoom Default zoom level 100%
Notifications Show desktop notifications Enabled
Sound Effects Play sounds for events Disabled

Logging Settings

Configure how EdgeFlow logs events and errors.

Setting Options Default
Log Level debug, info, warn, error info
Log Format json, console json
Output stdout, file stdout
File Path Log file location ./logs/edgeflow.log

Log Levels Explained

  • debug - Detailed information for troubleshooting (verbose)
  • info - General operational information (recommended)
  • warn - Warning messages for potential issues
  • error - Error messages only (minimal logging)

Metrics & Monitoring

Enable metrics collection for monitoring dashboards.

Setting Description Default
Metrics Enabled Enable Prometheus metrics endpoint Disabled
Prometheus Port Port for metrics scraping 9090
WebSocket Enabled Real-time updates via WebSocket Enabled
Ping Interval WebSocket keepalive interval 30s

Configuration Files

EdgeFlow uses the following configuration files:

File Purpose
configs/default.yaml Main configuration file
configs/profile-minimal.yaml Minimal profile overrides
configs/profile-standard.yaml Standard profile overrides
configs/profile-full.yaml Full profile overrides
.env Environment variables (secrets)

Environment Variables

Settings can also be configured via environment variables:

# Server
EDGEFLOW_SERVER_HOST=0.0.0.0
EDGEFLOW_SERVER_PORT=8080

# Database
EDGEFLOW_DATABASE_TYPE=sqlite
EDGEFLOW_DATABASE_PATH=./data/edgeflow.db

# Logging
EDGEFLOW_LOGGER_LEVEL=info
EDGEFLOW_LOGGER_FORMAT=json

# Security
JWT_SECRET_KEY=your-secret-key-change-in-production
ENCRYPTION_PASSWORD=your-encryption-password

# Timezone
TZ=UTC

Setup Wizard

First-time installations show a setup wizard that guides you through initial configuration:

  1. Welcome - Introduction to EdgeFlow
  2. Board Selection - Choose your hardware platform
  3. Network - Configure Ethernet or WiFi connectivity
  4. MQTT - Set up the message broker
  5. GPIO Permissions - Enable hardware interfaces
  6. Complete - Finalize installation
💡 Re-run Setup Wizard

You can re-run the setup wizard anytime from Settings → General → Run Setup Wizard.

Backup & Restore

Protect your EdgeFlow configuration and flows.

What's Included in Backups

  • All flows and their configurations
  • Node settings and credentials
  • System settings
  • Module list (not module files)
  • API keys (encrypted)

Backup Locations

  • Database - ./data/edgeflow.db
  • Configuration - ./configs/
  • Modules - ./modules/
  • Logs - ./logs/