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 ChangesGeneral Settings
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 Size | 10MB |
| RAM Usage | 80MB |
| Max Flows | 5 |
| Nodes/Flow | 20 |
Standard
Raspberry Pi 3/4, 1GB RAM
| Binary Size | 20MB |
| RAM Usage | 200MB |
| Max Flows | 20 |
| Nodes/Flow | 100 |
Full
Raspberry Pi 4/5, 2GB+ RAM
| Binary Size | 40MB |
| RAM Usage | 400MB |
| Max Flows | 100 |
| Nodes/Flow | 500 |
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.
| Expiration | 24 hours |
| Issuer | edgeflow |
| Algorithm | HS256 |
API Key Service Authentication
Token-based authentication for external integrations.
| Format | efk_* |
| Storage | SHA256 hashed |
| Header | X-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 |
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:
- Navigate to Settings → Security → API Keys
- Click Generate New Key
- Enter a descriptive name and set permissions
- Optionally set an expiration date
- Copy the key immediately (it won't be shown again)
Hardware Settings
Enable hardware interfaces for GPIO and sensor access.
Hardware Interfaces
| 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 |
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:
- Welcome - Introduction to EdgeFlow
- Board Selection - Choose your hardware platform
- Network - Configure Ethernet or WiFi connectivity
- MQTT - Set up the message broker
- GPIO Permissions - Enable hardware interfaces
- Complete - Finalize installation
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/