-
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy path.env.example
More file actions
158 lines (130 loc) · 6.76 KB
/
Copy path.env.example
File metadata and controls
158 lines (130 loc) · 6.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# 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
# ============================================
# Docker image (Docker Hub / GHCR installations only)
# ============================================
# Which published image the container runs. Only used by the compose file from
# docker-compose.image.yml - an installation built from source ignores it.
# Stable (default when unset): mawoj/mc-webui:latest
# Development builds: mawoj/mc-webui:dev
# GHCR mirror: ghcr.io/marekwo/mc-webui:latest
# MC_IMAGE=mawoj/mc-webui:latest
# ============================================
# HTTPS (optional) - see docs/https-setup.md
# ============================================
# Off by default: mc-webui serves plain HTTP on FLASK_PORT and nothing else runs.
#
# Uncommenting the line below starts Nginx Proxy Manager alongside the app, which
# terminates HTTPS and forwards to it. You then configure the certificate in its
# web UI (http://<server>:81) - Let's Encrypt, or your own certificate file.
# HTTPS also unlocks browser features that require a secure context, such as
# installing mc-webui as an app on a phone.
# COMPOSE_PROFILES=https
# Ports published by the proxy. Change them if something else already uses 80/443
# on this host. Note that Let's Encrypt HTTP-01 validation needs the *public*
# port 80 to reach this container, so it only works with NPM_HTTP_PORT=80.
# NPM_HTTP_PORT=80
# NPM_HTTPS_PORT=443
# NPM_ADMIN_PORT=81
# Where the proxy keeps its configuration and issued certificates.
# Must NOT be a synced folder (Dropbox, Synology Drive) - it holds a SQLite database.
# NPM_DATA_DIR=./data/npm
# NPM_LETSENCRYPT_DIR=./data/letsencrypt
# Set to false only if your host has working IPv6.
# NPM_DISABLE_IPV6=true
# Pin the proxy image instead of following latest, e.g. jc21/nginx-proxy-manager:2.12.6
# NPM_IMAGE=jc21/nginx-proxy-manager:latest
# Let the app read the real client address and scheme from the proxy's
# X-Forwarded-* headers. Enable ONLY when reaching the app through the proxy;
# a client talking to FLASK_PORT directly can forge those headers.
# MC_TRUST_PROXY=true
# Restrict the plain-HTTP port to the machine itself, so the app is reachable
# only through HTTPS. Set this only AFTER the proxy works - otherwise you lock
# yourself out. Leave unset (0.0.0.0) to keep HTTP available as before.
# MC_BIND_ADDRESS=127.0.0.1
# ============================================
# Demo mode (optional) - see docs/demo-mode.md
# ============================================
# For an instance you hand to people you do not know: everything that changes
# the radio, deletes data, or reconfigures this server is refused, and the
# controls for it are greyed out. Reading and sending messages still work, so
# the instance is still worth visiting. Off by default.
# MC_DEMO=true
# How YOU keep full access. Two independent ways in - set either, or both.
#
# 1) By network. Comma-separated CIDRs whose visitors are never restricted.
# Empty by default, and think before filling it in: if the app is published
# through a tunnel (cloudflared, ngrok) or a reverse proxy, every visitor
# arrives from that one address, and listing the network it sits in would
# unlock the instance for everyone at once. mc-webui refuses to match on
# address alone when it sees a proxy header and MC_TRUST_PROXY is off - but
# the safe setup is still to leave this empty unless the port is reached
# directly from your LAN.
# MC_DEMO_TRUSTED_NETS=192.168.0.0/16,10.0.0.0/8
#
# 2) By code. Typed once under Settings, then remembered in a cookie for 30
# days. Works from any network, which is what you want if the app is behind
# a tunnel. Make it long - it is the only thing between a visitor and your
# radio, and it is not rate-limited beyond a one-second delay per attempt.
# MC_DEMO_UNLOCK_CODE=choose-something-long-and-unguessable
# ============================================
# System Configuration
# ============================================
# Timezone for container logs (default: UTC)
# Examples: Europe/Warsaw, America/New_York, Asia/Tokyo
TZ=Europe/Warsaw