-
Notifications
You must be signed in to change notification settings - Fork 116
Expand file tree
/
Copy path.env.example
More file actions
103 lines (79 loc) · 2.99 KB
/
.env.example
File metadata and controls
103 lines (79 loc) · 2.99 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
# Phantom Configuration
# Copy this file to .env and fill in your values:
# cp .env.example .env
# ========================
# REQUIRED
# ========================
# Your Anthropic API key (starts with sk-ant-)
ANTHROPIC_API_KEY=
# ========================
# OPTIONAL: Slack
# ========================
# Create a Slack app: see docs/getting-started.md or use the manifest at slack-app-manifest.yaml
# Slack bot token (starts with xoxb-)
# SLACK_BOT_TOKEN=
# Slack app token for Socket Mode (starts with xapp-)
# SLACK_APP_TOKEN=
# Default Slack channel ID for intro messages (starts with C)
# SLACK_CHANNEL_ID=
# Owner's Slack user ID (starts with U) - only this user can talk to Phantom
# OWNER_SLACK_USER_ID=
# ========================
# OPTIONAL: Identity
# ========================
# Agent name (default: phantom)
# PHANTOM_NAME=phantom
# Agent role (default: swe). Options: swe, base
# PHANTOM_ROLE=swe
# Claude model for the agent brain.
# Options:
# claude-sonnet-4-6 - Fast, capable, lower cost (default, recommended)
# claude-opus-4-6 - Most capable, higher cost
# PHANTOM_MODEL=claude-sonnet-4-6
# Domain for public URL (e.g., ghostwright.dev)
# When set with PHANTOM_NAME, derives public URL as https://<name>.<domain>
# PHANTOM_DOMAIN=
# Explicit public URL (overrides domain-based derivation)
# Use this for custom domains that don't follow the subdomain pattern.
# Examples: https://ai.company.com, https://phantom.internal:8443
# PHANTOM_PUBLIC_URL=
# ========================
# OPTIONAL: Ports
# ========================
# HTTP server port (default: 3100)
# PORT=3100
# ========================
# OPTIONAL: Memory
# ========================
# Qdrant URL (default: http://qdrant:6333 in Docker, http://localhost:6333 on bare metal)
# QDRANT_URL=http://qdrant:6333
# Ollama URL (default: http://ollama:11434 in Docker, http://localhost:11434 on bare metal)
# OLLAMA_URL=http://ollama:11434
# Embedding model (default: nomic-embed-text)
# EMBEDDING_MODEL=nomic-embed-text
# ========================
# OPTIONAL: Docker
# ========================
# Docker group ID on the host. The Phantom container needs this to access
# the Docker socket for creating sibling containers.
# Find yours with:
# Linux: stat -c '%g' /var/run/docker.sock
# macOS: stat -f '%g' /var/run/docker.sock
# Default 988 works for most Hetzner and cloud VMs.
# DOCKER_GID=988
# ========================
# OPTIONAL: Email (Resend)
# ========================
# Resend API key for sending email. If set, the agent can send email as
# {PHANTOM_NAME}@ghostwright.dev (or {PHANTOM_NAME}@{PHANTOM_DOMAIN}).
# Get a key at: https://resend.com/api-keys
# RESEND_API_KEY=
# Maximum emails per day (default: 50)
# PHANTOM_EMAIL_DAILY_LIMIT=50
# ========================
# OPTIONAL: Secret Encryption
# ========================
# 64-character hex string (32 bytes) for encrypting stored credentials.
# If not set, a key is auto-generated and saved to data/secret-encryption-key.
# Generate one with: openssl rand -hex 32
# SECRET_ENCRYPTION_KEY=