-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathexample.env
More file actions
78 lines (71 loc) · 2.97 KB
/
Copy pathexample.env
File metadata and controls
78 lines (71 loc) · 2.97 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
# Copy to .env in the repository root. Every variable is read only in
# internal/config. Local dev targets docker-compose.dev.yml; prod interpolates
# the same file and only requires GINBOT_DB_PASSWORD.
#
# Prod only: comma-separated Compose profiles selecting optional clients
# (discord, matrix). Empty = server only.
COMPOSE_PROFILES=
# production, or anything else for development (dev also enables gRPC reflection).
GINBOT_ENV=development
# debug | warn | error, anything else means info.
GINBOT_LOG_LEVEL=debug
# The bot's own public host (and its subdomains) is excluded from repost
# indexing. Set nothing broader than the bot's own host.
GINBOT_WEB_URL=
# --- gRPC ---
GINBOT_GRPC_HOST=localhost
GINBOT_GRPC_PORT=50051
# true switches the server and both clients to mutual TLS.
GINBOT_GRPC_TLS=false
# Directory holding ca-cert.pem and the server/client key pairs. Relative paths
# resolve against the working directory. Defaults to cert.
GINBOT_CERTS_PATH=cert
# --- Database ---
# In production this same variable also sets the psql POSTGRES_PASSWORD.
GINBOT_DB_HOST=localhost
GINBOT_DB_PORT=5432
GINBOT_DB_NAME=ginbot
GINBOT_DB_USERNAME=ginbot
GINBOT_DB_PASSWORD=gin123
# false skips goose.Up at server boot.
GINBOT_DB_MIGRATIONS=true
# --- Storage ---
# Persistent state, not cache: losing it leaves file rows pointing at gone blobs.
# Relative paths resolve against the working directory.
GINBOT_STORAGE_PATH=./storage
# --- Repost detection ---
# Off by default, read by BOTH binaries: the server fingerprints, and the Discord
# client requests the privileged MESSAGE_CONTENT intent when on.
GINBOT_REPOST=false
# Hosts never indexed, matched inclusive of subdomains. Comma separated.
GINBOT_REPOST_EXCLUDED_HOSTS=
# Absolute path to ffmpeg, needed only for video and animated GIF; empty looks it
# up on PATH and degrades to exact-hash-only if absent. The images do not carry one.
GINBOT_REPOST_FFMPEG_PATH=
# Optional inclusive Hamming-distance bounds for the three confidence tiers.
# Clamped to [0, repost.MaxDistance] and forced monotonic with a warning.
GINBOT_REPOST_TIER_IDENTICAL=0
GINBOT_REPOST_TIER_HIGH=3
GINBOT_REPOST_TIER_PROBABLE=7
# Images below either dimension, or below the Shannon entropy floor in bits
# (0..8), are not perceptually matched.
GINBOT_REPOST_MIN_WIDTH=128
GINBOT_REPOST_MIN_HEIGHT=128
GINBOT_REPOST_MIN_ENTROPY=3.0
# --- Discord ---
DISCORD_OWNER_ID=
# Do NOT prefix with "Bot "; config adds it.
DISCORD_BOT_TOKEN=
DISCORD_CLIENT_ID=
# Comma separated. Empty disables chat commands; slash commands are unaffected.
DISCORD_COMMAND_PREFIXES=
# true deletes the registered application commands on shutdown.
DISCORD_REMOVE_COMMANDS=false
# Requests the privileged MESSAGE_CONTENT intent (also requested by a non-empty
# DISCORD_COMMAND_PREFIXES or GINBOT_REPOST=true). Must be enabled in the Discord
# developer portal first, or the gateway closes with error 4014 — hence opt-in.
DISCORD_MESSAGE_CONTENT=false
# --- Matrix ---
MATRIX_HOMESERVER_URL=
MATRIX_ACCESS_TOKEN=
MATRIX_USER_ID=