-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
128 lines (106 loc) · 6.24 KB
/
Copy path.env.example
File metadata and controls
128 lines (106 loc) · 6.24 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
# Copy this file to ~/.env and fill in your values (canonical location).
# Repo-root .env is a symlink to ~/.env for docker-compose back-compat.
# Both are gitignored — never commit either.
#
# Setup once:
# cp .env.example ~/.env
# chmod 600 ~/.env
# ln -sf ~/.env .env # at repo root, so docker-compose env_file resolves
#
# Used by all scripts in this repo (ubuntu/, mac/, fedora/, bootstrap/).
# ── Identity ──────────────────────────────────────────────────────────────────
# Username created on servers and used throughout setup
SETUP_USER=mike
# Default remote host (used by bootstrap/ scripts)
SETUP_HOST=mike@5.199.130.154
# SSH key path used/generated by bootstrap/local/01_keygen.sh
# SETUP_SSH_KEY=~/.ssh/id_ed25519
# ── Bootstrap SSH ─────────────────────────────────────────────────────────────
# Who to SSH as when running bootstrap/server/ scripts.
# Default: $SETUP_USER (assumes key is already uploaded).
# Override to "root" for fresh servers where SETUP_USER doesn't exist yet:
# SSH_USER=root bash bootstrap/server/04_adduser.sh
# SSH_USER=
# ── Dotfiles ──────────────────────────────────────────────────────────────────
# GitHub username or user/repo for chezmoi dotfiles (e.g. marsmike or marsmike/dotfiles)
DOTFILES_REPO=marsmike
# Personal Access Token — skips interactive gh auth login
# Needs scopes: repo, read:org, workflow, gist
# Generate at: https://github.com/settings/tokens
GH_TOKEN=
# ── Proxmox ───────────────────────────────────────────────────────────────────
# Proxmox access credentials
PROXMOX_USER=root
PROXMOX_PASS=
# Public SSH key baked into every VM cloud-init (content of ~/.ssh/id_ed25519.pub)
SSH_PUBLIC_KEY=
# Hashed password for the VM user account
# Generate: mkpasswd -m sha-512 yourpassword
USER_PASSWORD_HASH=
# ── Personal / AI tools (optional) ───────────────────────────────────────────
# OpenRouter — routes Claude Code to OpenRouter (API key, never expires, ~10x cheaper than direct)
# Get key at: https://openrouter.ai/keys | Enable auto-top-up for unattended servers
export OPENROUTER_API_KEY=
# Claude Code model routing (sourced via ~/.env)
# ANTHROPIC_BASE_URL and ANTHROPIC_API_KEY=$OPENROUTER_API_KEY wire up OpenRouter.
# Agents in 10_claude_agents.sh pass --model explicitly; crowd workers inherit CLAUDE_CODE_SUBAGENT_MODEL.
# Bot (ozzie): claude-haiku-4-5-20251001 or deepseek/deepseek-chat (cheap, conversational)
# Agents (kora): claude-sonnet-4-6 (capable, workloads)
# Crowd workers: claude-sonnet-4-6 via CLAUDE_CODE_SUBAGENT_MODEL (concrete tasks)
export ANTHROPIC_BASE_URL=https://openrouter.ai/api/v1
export ANTHROPIC_API_KEY=$OPENROUTER_API_KEY
export ANTHROPIC_MODEL=
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5-20251001
export CLAUDE_CODE_SUBAGENT_MODEL=claude-sonnet-4-6
export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1
# Kimi K2 (moonshot-ai) — alternative cheap backend, used by the 'kimi' shell function
# KIMI_API_KEY=
# KIMI_BASE_URL=https://api.moonshot.cn/v1
# ── RagFlow ───────────────────────────────────────────────────────────────────
#
# All variables below are read by ragflow/init_default_user.py inside the
# container on first boot. Re-running with a different email creates no new
# user (init only fires when the user table is empty); to start over:
# cd ragflow && docker compose down -v && cd .. && bash ubuntu/53_ragflow.sh
#
# Admin login auto-created on first boot
RAGFLOW_DEFAULT_EMAIL=
RAGFLOW_DEFAULT_PASSWORD=
RAGFLOW_DEFAULT_NICKNAME=Mike
# Stable API key — idempotently persisted to DB on every boot.
# Generate any random string (the value is what RagFlow stores; format optional):
# echo "ragflow-$(openssl rand -hex 16)"
RAGFLOW_API_KEY=
# Ollama models registered on first boot (must already be pulled on the host).
# Ollama is the BACKUP backend (per F3A LLM stack memory). Models registered for
# fallback / VLM use, but tenant defaults point at llama-swap (LLAMACPP_* below).
OLLAMA_BASE_URL=http://host.docker.internal:11434
RAGFLOW_DEFAULT_CHAT_MODEL=qwen3:30b-a3b-q4_K_M
RAGFLOW_DEFAULT_EMBEDDING_MODEL=bge-m3
# Vision model for image2text (PDF figures, screenshots). Stays on Ollama until
# qwen3-vl mmproj is wired into llama-swap. Leave blank to skip VLM entirely.
RAGFLOW_DEFAULT_VISION_MODEL=qwen3-vl:8b
RAGFLOW_ADDITIONAL_CHAT_MODELS=gemma4:e4b,qwen3.6:35b
# llama-swap (PRIMARY backend) — self-compiled llama.cpp Vulkan, ~4× faster
# prompt eval than Ollama on F3A's iGPU. Registered under RagFlow's
# OpenAI-API-Compatible factory; tenant.llm_id and tenant.embd_id are set to
# these on first boot.
LLAMACPP_BASE_URL=http://host.docker.internal:8080/v1
LLAMACPP_CHAT_MODEL=qwen3-30b-a3b-q4_K_M
LLAMACPP_EMBEDDING_MODEL=bge-m3
# VLM (vision-language). Requires both Q4_K_M model + Q8_0 mmproj GGUFs at
# ~/llama-models/ — pulled by ubuntu/52_llamacpp_vulkan.sh from
# huggingface.co/Qwen/Qwen3-VL-8B-Instruct-GGUF on first run.
LLAMACPP_VISION_MODEL=qwen3-vl-8b
# Additional chat models (comma-separated). Registered under OpenAI-API-Compatible
# factory in RagFlow. The launcher pulls each from HF on first run.
LLAMACPP_ADDITIONAL_CHAT_MODELS=qwen3.6-35b-a3b,gemma4-26b-a4b,qwen3.6-27b,qwen3-30b-a3b-instruct-2507
# Stack secrets — change before deploying. Defaults match upstream RagFlow.
MYSQL_PASSWORD=infini_rag_flow
ELASTIC_PASSWORD=infini_rag_flow
MINIO_USER=rag_flow
MINIO_PASSWORD=infini_rag_flow
REDIS_PASSWORD=infini_rag_flow
TIMEZONE=Europe/Berlin