-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
215 lines (175 loc) · 8.68 KB
/
Copy path.env.example
File metadata and controls
215 lines (175 loc) · 8.68 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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
# lab — environment configuration
#
# Standalone: copy to ~/.labby/.env and fill in.
# Docker: mount or copy this file to ~/.labby/.env inside the container.
#
# Only services you actually use need values; unset services are skipped at
# runtime by `labby serve` / `labby health`.
#
# Naming convention:
# {SERVICE}_URL — base URL (no trailing slash)
# {SERVICE}_API_KEY — for ApiKey auth
# {SERVICE}_TOKEN — for Bearer/Token auth
# {SERVICE}_USERNAME — for Basic auth
# {SERVICE}_PASSWORD — for Basic auth
#
# Scope discipline: config.toml already supports most preferences/toggles
# (transport, CORS, admin, log level, timeouts) — prefer setting those there
# over adding new .env entries. This file should stay limited to URLs,
# secrets, and the log-related bootstrap vars noted below.
# ─── lab MCP server / auth secrets ───────────────────────────────────────────
# HTTP bearer token. Generate with: openssl rand -hex 32
LABBY_MCP_HTTP_TOKEN=
# HMAC key for signing ACP permission outcomes across restarts.
# Without this, the key rotates on every process restart and stored permission
# signatures become unverifiable. Generate with: openssl rand -hex 32
LABBY_ACP_HMAC_SECRET=
# Public URL used for OAuth metadata, callbacks, and JWT issuer/audience
LABBY_PUBLIC_URL=
# Optional comma-separated redirect allowlist for OAuth client callbacks.
# When unset, Labby seeds common ChatGPT/Claude callback patterns. Set to an
# explicit value to replace those defaults; use https://* only if you want to
# trust any HTTPS DCR callback.
# LABBY_AUTH_ALLOWED_REDIRECT_URIS=
# Required (oauth mode): Google email of the bootstrap admin permitted to log in.
# Case-insensitive; trailing whitespace is ignored. Startup fails under
# LABBY_AUTH_MODE=oauth if unset, so no Google account can authenticate unless
# explicitly permitted. Additional users will be granted access through the
# web UI (planned), backed by a SQLite allowlist table.
LABBY_AUTH_ADMIN_EMAIL=
# Google OAuth app credentials (required in oauth mode)
LABBY_GOOGLE_CLIENT_ID=
LABBY_GOOGLE_CLIENT_SECRET=
# ─── Code Mode `openapi` provider credentials ────────────────────────────────
# Per-spec credentials for the Code Mode `openapi` provider. The spec itself
# (label, base_url, spec_url, allow-list) is NON-secret and lives in
# config.toml's [[openapi.specs]] — only the credential belongs here. <LABEL> is
# the uppercased spec label. Injected server-side, after the sandbox boundary —
# the JS snippet never sees the value. Set at most one per spec; TOKEN wins.
# OPENAPI_<LABEL>_TOKEN — sent as `Authorization: Bearer <token>`
# OPENAPI_<LABEL>_API_KEY — sent as the header named by `api_key_header`
# (config.toml; default `X-API-Key`)
# e.g. for a spec labeled "petstore":
# OPENAPI_PETSTORE_TOKEN=
# OPENAPI_PETSTORE_API_KEY=
# ─── Servarr stack ────────────────────────────────────────────────────────────
RADARR_API_KEY=
RADARR_URL=http://localhost:7878
SONARR_API_KEY=
SONARR_URL=http://localhost:8989
PROWLARR_API_KEY=
PROWLARR_URL=http://localhost:9696
# ─── Media ────────────────────────────────────────────────────────────────────
JELLYFIN_API_KEY=
JELLYFIN_URL=http://localhost:8096
PLEX_TOKEN=
PLEX_URL=http://localhost:32400
TAUTULLI_API_KEY=
TAUTULLI_URL=http://localhost:8181
IMMICH_API_KEY=
IMMICH_URL=http://localhost:2283
OVERSEERR_API_KEY=
OVERSEERR_URL=http://localhost:5055
NAVIDROME_TOKEN=
NAVIDROME_URL=http://localhost:4533
NAVIDROME_USERNAME=
NAVIDROME_SALT=
# ─── Downloaders ──────────────────────────────────────────────────────────────
SABNZBD_API_KEY=
SABNZBD_URL=http://localhost:8080
QBITTORRENT_PASSWORD=
QBITTORRENT_URL=http://localhost:8112
QBITTORRENT_USERNAME=admin
# ─── Network ──────────────────────────────────────────────────────────────────
TAILSCALE_API_KEY=
TAILSCALE_TAILNET=-
TAILSCALE_URL=https://api.tailscale.com
# Optional ephemeral, preauthorized auth key used only by provisioning/bootstrap
# to join the host/container to Tailscale. Do not commit a real key.
TS_AUTHKEY=
# UniFi Network Application (local controller, not cloud Site Manager)
UNIFI_API_KEY=
UNIFI_URL=https://10.1.0.1
# ─── Notifications ───────────────────────────────────────────────────────────
# App token for sending messages.
GOTIFY_APP_TOKEN=
# Client token for management operations.
GOTIFY_CLIENT_TOKEN=
# Legacy fallback when scoped tokens are not set.
GOTIFY_TOKEN=
GOTIFY_URL=http://localhost:8081
APPRISE_TOKEN=
APPRISE_URL=http://localhost:8001
# ─── Knowledge / notes ────────────────────────────────────────────────────────
LINKDING_TOKEN=
LINKDING_URL=http://localhost:9090
MEMOS_TOKEN=
MEMOS_URL=http://localhost:5230
BYTESTASH_TOKEN=
BYTESTASH_URL=http://localhost:5000
# ─── Infrastructure ───────────────────────────────────────────────────────────
# Arcane — Docker management UI
ARCANE_API_KEY=
ARCANE_URL=http://localhost:3552
# Unraid GraphQL API
UNRAID_API_KEY=
UNRAID_URL=https://tower.local/graphql
# Dozzle — Docker log viewer
DOZZLE_URL=http://localhost:8080
DOZZLE_SESSION_COOKIE= # optional; for authenticated instances
# Scrutiny — hard drive health monitoring
SCRUTINY_API_KEY=
SCRUTINY_URL=http://localhost:8080
# Glances — system monitoring
GLANCES_TOKEN= # optional; for authenticated instances
GLANCES_URL=http://localhost:61208
# Uptime Kuma — uptime monitoring
UPTIME_KUMA_PASSWORD=
UPTIME_KUMA_URL=http://localhost:3001
UPTIME_KUMA_USERNAME=admin
# AdGuard Home — DNS ad-blocker
ADGUARD_PASSWORD=
ADGUARD_URL=http://localhost:3000
ADGUARD_USERNAME=admin
# Pi-hole — DNS ad-blocker
PIHOLE_PASSWORD=
PIHOLE_URL=http://localhost:80
# Neo4j — graph database
NEO4J_DB= # optional; defaults to "neo4j"
NEO4J_PASSWORD=
NEO4J_POOL_SIZE= # optional; connection pool size
NEO4J_URL=bolt://localhost:7687
NEO4J_USER=neo4j
# FreshRSS — RSS aggregator
FRESHRSS_API_PASSWORD=
FRESHRSS_URL=http://localhost:80/api/greader.php
FRESHRSS_USERNAME=
# Loggifly — container log webhook bridge
LOGGIFLY_CONFIG_ROOT= # optional; path to loggifly config dir
LOGGIFLY_URL=http://localhost:5000
# ─── AI / embeddings ──────────────────────────────────────────────────────────
OPENAI_API_KEY=
OPENAI_ORG_ID=
OPENAI_URL=
QDRANT_API_KEY=
QDRANT_URL=http://localhost:6333
TEI_API_KEY=
TEI_URL=http://localhost:8080
# ─── Docker deployment ────────────────────────────────────────────────────────
# Remap the host-side port without editing docker-compose.yml.
# LABBY_HOST_PORT=8765
# Override the tracing filter set in config/config.toml.
# RUST_LOG=lab=debug,warn
# LABBY_LOG / LABBY_LOG_DIR / LABBY_LOG_FORMAT / LABBY_LOG_COLOR: tracing
# initializes from config.toml BEFORE this .env file is loaded, so setting
# these here only has no effect at cold boot. If you need one of these to
# take effect at startup, set it as a real process/shell environment variable
# (or a systemd `Environment=` line), not just in this file.
# Opt-in: host adb client bind-mounted into labby:dev for the claude-in-mobile
# MCP server (it shells out to adb, talking to the host adb server via the
# host.docker.internal alias — see extra_hosts in docker-compose.yml — configured
# in config.toml as ANDROID_ADB_SERVER_ADDRESS=host.docker.internal +
# ANDROID_ADB_SERVER_PORT=5037). Set this to the host's adb binary so the
# in-container client version matches the host server's. Leave unset on hosts
# without the Android SDK — the mount defaults to a harmless /dev/null no-op.
# ADB_PATH=/home/youruser/Android/Sdk/platform-tools/adb