-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy path.env.example
More file actions
160 lines (113 loc) · 5.84 KB
/
.env.example
File metadata and controls
160 lines (113 loc) · 5.84 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
159
160
# =============================================================================
# Freshell Configuration
# Copy this file to .env and customize as needed.
# =============================================================================
# REQUIRED: Authentication token for all HTTP and WebSocket connections.
# Use a strong random value (at least 16 chars). Generate one with:
# openssl rand -hex 32
AUTH_TOKEN=replace-with-a-long-random-token
# -----------------------------------------------------------------------------
# Server
# -----------------------------------------------------------------------------
# Port for the Express server (backend API + production static files)
PORT=3001
# Set to true to hide AUTH_TOKEN from the startup URL printed to the console.
# Useful when logs are aggregated or terminals are shared/recorded.
# HIDE_STARTUP_TOKEN=true
# Log level: fatal, error, warn, info, debug, trace
# LOG_LEVEL=debug
# Trust proxy setting for Express (e.g., "1", "loopback", or a CIDR range).
# Set this when running behind a reverse proxy (nginx, Caddy, Cloudflare).
# FRESHELL_TRUST_PROXY=1
# ALLOWED_ORIGINS is auto-managed by NetworkManager based on bind host and LAN IPs.
# Do not edit manually — use EXTRA_ALLOWED_ORIGINS for custom additions.
# ALLOWED_ORIGINS=http://localhost:5173,http://localhost:3001
# Extra origins to allow (for reverse proxies, custom domains, etc.).
# These are preserved across NetworkManager reconfigurations.
# EXTRA_ALLOWED_ORIGINS=https://mysite.com,http://192.168.1.50:8080
# Maximum concurrent WebSocket connections (default: 50)
# MAX_CONNECTIONS=50
# Maximum concurrent terminals (default: 50)
# MAX_TERMINALS=50
# Scrollback buffer size in characters per terminal (default: 65536 = 64KB)
# MAX_SCROLLBACK_CHARS=65536
# -----------------------------------------------------------------------------
# Vite Dev Server (only used during `npm run dev`)
# -----------------------------------------------------------------------------
# Port for the Vite dev server (default: 5173)
# VITE_PORT=5173
# Backend host that Vite proxies API requests to (default: 127.0.0.1)
# VITE_BACKEND_HOST=127.0.0.1
# Comma-separated hostnames the Vite dev server accepts requests from.
# Set this when accessing via a custom domain (e.g., behind a reverse proxy).
# VITE_ALLOWED_HOSTS=shell.example.com,localhost
# -----------------------------------------------------------------------------
# AI Features (optional)
# -----------------------------------------------------------------------------
# Google Gemini API key for AI-powered session summaries.
# Get one at https://aistudio.google.com/apikey
# GOOGLE_GENERATIVE_AI_API_KEY=...
# -----------------------------------------------------------------------------
# Coding CLI Integration
# -----------------------------------------------------------------------------
# Override path to Claude's home directory (default: ~/.claude)
# CLAUDE_HOME=/path/to/.claude
# Override the Claude CLI command (default: claude)
# CLAUDE_CMD=claude
# Override path to Codex's home directory (default: ~/.codex)
# CODEX_HOME=/path/to/.codex
# Override the Codex CLI command (default: codex)
# CODEX_CMD=codex
# Override Claude autocompact threshold percentage
# CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80
# Max events to load per coding CLI session (default: 10000)
# FRESHELL_MAX_SESSION_EVENTS=10000
# How long to keep completed session data in memory, ms (default: 1800000 = 30 min)
# FRESHELL_COMPLETED_SESSION_RETENTION_MS=1800000
# -----------------------------------------------------------------------------
# Windows / WSL (only needed when running on Windows or under WSL)
# -----------------------------------------------------------------------------
# WSL distribution name (for launching WSL shells from Windows)
# WSL_DISTRO=Ubuntu
# Path to WSL executable (default: wsl.exe)
# WSL_EXE=wsl.exe
# Override Windows shell type: wsl, powershell, or cmd (default: wsl)
# WINDOWS_SHELL=wsl
# Path to PowerShell executable
# POWERSHELL_EXE=powershell.exe
# Path to Windows System32 under WSL (default: /mnt/c/Windows/System32)
# WSL_WINDOWS_SYS32=/mnt/c/Windows/System32
# -----------------------------------------------------------------------------
# Advanced Tuning (you probably don't need to change these)
# -----------------------------------------------------------------------------
# WebSocket hello/auth timeout in ms (default: 5000)
# HELLO_TIMEOUT_MS=5000
# WebSocket ping interval in ms (default: 30000)
# PING_INTERVAL_MS=30000
# Max WebSocket buffered bytes before backpressure (default: 2097152 = 2MB)
# MAX_WS_BUFFERED_AMOUNT=2097152
# Max bytes per WebSocket output chunk (default: 512000 = 500KB)
# MAX_WS_CHUNK_BYTES=512000
# Terminal stream replay ring bytes per terminal (default: 262144 = 256KB)
# TERMINAL_REPLAY_RING_MAX_BYTES=262144
# Terminal stream output queue bytes per attached client (default: 131072 = 128KB)
# TERMINAL_CLIENT_QUEUE_MAX_BYTES=131072
# Terminal stream send batch bytes per flush (default: 65536 = 64KB)
# TERMINAL_STREAM_BATCH_MAX_BYTES=65536
# Catastrophic WS bufferedAmount threshold for terminal streaming (default: 16777216 = 16MB)
# TERMINAL_WS_CATASTROPHIC_BUFFERED_BYTES=16777216
# Catastrophic stall duration before 4008 close, ms (default: 10000)
# TERMINAL_WS_CATASTROPHIC_STALL_MS=10000
# Terminal creation rate limit: max creates per window (default: 10 per 10s)
# TERMINAL_CREATE_RATE_LIMIT=10
# TERMINAL_CREATE_RATE_WINDOW_MS=10000
# Max exited terminals to keep in memory (default: 200)
# MAX_EXITED_TERMINALS=200
# Sessions sync coalesce interval in ms (default: 150)
# SESSIONS_SYNC_COALESCE_MS=150
# Claude indexer debounce interval in ms (default: 250)
# CLAUDE_INDEXER_DEBOUNCE_MS=250
# Max seen session IDs to cache (default: 10000)
# CLAUDE_SEEN_SESSION_MAX=10000
# How long to remember seen session IDs, ms (default: 604800000 = 7 days)
# CLAUDE_SEEN_SESSION_RETENTION_MS=604800000