# Copy to /root/mike-ai-install.env, edit, chmod 600, then run: # sudo ./install.sh --config /root/mike-ai-install.env AI_HOSTNAME=ki-host ADMIN_USER=mike MODEL_DIR=/data/models # Installing a new NVIDIA driver can require one reboot. In that case this # installer exits with code 20 (NVIDIA) or 21 (stable NIC rename); rerun the # same command after reboot. INSTALL_NVIDIA_DRIVER=true # Optional: auf einen im offiziellen NVIDIA-Repository vorhandenen Hauptzweig # festlegen (z. B. 610). Leer lassen, um dem aktuellen stabilen Zweig zu folgen. NVIDIA_DRIVER_BRANCH= NVIDIA_MIN_DRIVER_MAJOR=570 # Stable UUID order: CUDA0 = RTX 5080, CUDA1 = RTX 3060. Positional host # indices are intentionally avoided because nvidia-smi currently enumerates # the cards in the opposite order. TEXT_GPU_DEVICES=GPU-8ad38c6c-5a01-9d8e-1dfa-ed662ad78fbe SECONDARY_GPU_DEVICES=GPU-4834d9d7-5b61-3004-1fb3-4ae49d482d4b IMAGE_GPU_DEVICES=GPU-8ad38c6c-5a01-9d8e-1dfa-ed662ad78fbe # FLUX.2 Klein 9B is gated. Accept both BFL model licenses first, then store # the Hugging Face token in this root-readable file (never in this config). HF_TOKEN_FILE=/root/.cache/huggingface/token FLUX_COMPONENT_DIR=/data/models/FLUX.2-klein-9B-components FLUX_TRANSFORMER_DIR=/data/models/FLUX.2-klein-9B-fp8 # Headless remote reachability. Firmware power-loss recovery is configured # separately once at the physical machine. ENABLE_HARDWARE_WATCHDOG=true # Bind the physical NIC to a stable name independent of its PCIe slot path. PRIMARY_NETWORK_MAC=58:11:22:BB:AD:0C PERSISTENT_NETWORK_NAME=lan0 PRIMARY_NETWORK_INTERFACE=lan0 WAKE_ON_LAN_INTERFACE=lan0 SSH_KEY_ONLY=true # WireGuard terminates in a dedicated Docker gateway. The Fritzbox export is a # root-only deployment secret and must never be committed. WIREGUARD_MODE=container WIREGUARD_CONFIG_FILE=/etc/mike-ai/wireguard/fritz-athena.conf WIREGUARD_ENABLE=false # Stable Fritzbox/WireGuard address used by direct VPN clients such as Pi or Hermes. VPN_SERVICE_IP=192.168.1.212 # The values below are only used by the legacy host-terminated mode. The # default container mode takes address, peer and routes from the Fritzbox file. AI_BIND_ADDRESS=10.77.0.2 WG_INTERFACE=wg0 WG_ADDRESS=10.77.0.2/32 WG_HOME_SUBNET=192.168.1.0/24 WG_PEER_PUBLIC_KEY=REPLACE_WITH_HOME_WIREGUARD_PUBLIC_KEY WG_PEER_ENDPOINT=home.example.net:51820 WG_PEER_PRESHARED_KEY_FILE= WG_DNS=192.168.1.1 WG_ROUTE_AI_INTERNET=true # Exact model artifacts. Never put access tokens in these URLs. FAST_MODEL_FILE=qwen-mix/Qwen3.8-27B-IQ4-MIX.gguf FAST_MODEL_URL=https://huggingface.co/vmarcelo/Qwen3.8-27B-MIX_GGUF/resolve/main/Qwen3.8-27B-IQ4-MIX.gguf FAST_MODEL_SHA256=54879ae8738d5938f46cb3b8cbf16bf42b8c85b7d68d7c73f062b612ec183e36 MEDIUM_MODEL_FILE=qwen-pure/qwen3.8-27b-IQ4_XS-pure.gguf MEDIUM_MODEL_URL=https://huggingface.co/jpetrina/Qwen3.8-27B-IQ4_XS-pure-GGUF/resolve/main/qwen3.8-27b-IQ4_XS-pure.gguf MEDIUM_MODEL_SHA256=ea5a3c45d407f9b9e5d2c0d647f0ea600f486f6b86b92b56d0823ba073dae675 LARGE_MODEL_FILE=qwen-pure/qwen3.8-27b-IQ4_XS-pure.gguf LARGE_MODEL_URL=https://huggingface.co/jpetrina/Qwen3.8-27B-IQ4_XS-pure-GGUF/resolve/main/qwen3.8-27b-IQ4_XS-pure.gguf LARGE_MODEL_SHA256=ea5a3c45d407f9b9e5d2c0d647f0ea600f486f6b86b92b56d0823ba073dae675 ULTRA_MODEL_FILE=qwen-pure/qwen3.8-27b-IQ4_XS-pure.gguf ULTRA_MODEL_URL=https://huggingface.co/jpetrina/Qwen3.8-27B-IQ4_XS-pure-GGUF/resolve/main/qwen3.8-27b-IQ4_XS-pure.gguf ULTRA_MODEL_SHA256=ea5a3c45d407f9b9e5d2c0d647f0ea600f486f6b86b92b56d0823ba073dae675 UNCENSORED_MODEL_FILE=qwen3.8-27b-abliterated/Qwen3.8-27B-ABLITERATED-Q4_K_M.gguf UNCENSORED_MODEL_URL=https://huggingface.co/Blackfrost-AI/Qwen3.8-27B-ABLITERATED-GGUF/resolve/main/Qwen3.8-27B-ABLITERATED-Q4_K_M.gguf UNCENSORED_MODEL_SHA256=5d53637a59cfcd3a4d8354e254ffd44943e5a693da2405a3e228c62962355509 UNCENSORED_PROJECTOR_FILE=qwen3.8-27b-abliterated/mmproj-Qwen3.8-27B-ABLITERATED-F16.gguf UNCENSORED_PROJECTOR_URL=https://huggingface.co/Blackfrost-AI/Qwen3.8-27B-ABLITERATED-GGUF/resolve/main/mmproj-Qwen3.8-27B-ABLITERATED-F16.gguf UNCENSORED_PROJECTOR_SHA256=2284099ce864f1023d721e6ef5eaef32bb56abdbc1dc561c6d91300f12ef2e4b VISION_PROJECTOR_FILE=qwen/mmproj-BF16.gguf VISION_PROJECTOR_URL=https://huggingface.co/unsloth/Qwen3.8-27B-GGUF/resolve/main/mmproj-BF16.gguf VISION_PROJECTOR_SHA256=83ee4f4f205fa514161778c41df1ea14144faa0f713510893b63c2395f5c2d53 DEFAULT_REASONING_EFFORT=off # All standard profiles use the MTP tensor embedded in their GGUF. A separate # draft-model artifact is neither downloaded nor passed to llama-server. FAST_CONTEXT=76800 FAST_BATCH_SIZE=64 FAST_UBATCH_SIZE=32 MEDIUM_CONTEXT=160000 MEDIUM_BATCH_SIZE=2048 MEDIUM_UBATCH_SIZE=128 MEDIUM_TENSOR_SPLIT=85,15 LARGE_CONTEXT=192000 LARGE_BATCH_SIZE=2048 LARGE_UBATCH_SIZE=128 LARGE_TENSOR_SPLIT=86,14 ULTRA_CONTEXT=262144 ULTRA_BATCH_SIZE=2048 ULTRA_UBATCH_SIZE=128 ULTRA_TENSOR_SPLIT=80,20 UNCENSORED_CONTEXT=80000 UNCENSORED_BATCH_SIZE=2048 UNCENSORED_UBATCH_SIZE=128 UNCENSORED_TENSOR_SPLIT=90,10 UNCENSORED_MTP_MAX=2 LLAMA_THREADS=6 LLAMA_THREADS_BATCH=6 FAST_PARALLEL_SLOTS=1 LLAMA_CACHE_RAM_MIB=32768 MEDIUM_PARALLEL_SLOTS=1 LARGE_PARALLEL_SLOTS=1 ULTRA_PARALLEL_SLOTS=1 UNCENSORED_PARALLEL_SLOTS=1 QWEN3_TTS_IMAGE=ghcr.io/malaiwah/qwen3-tts-server:latest@sha256:b363a01d08b1bbecbfc3ca6f585368fae2cfdc591f9ecca6643738369f9a9d98 QWEN3_TTS_CACHE_DIR=/data/models/qwen3-tts-cache QWEN3_TTS_VOICES_DIR=/data/models/qwen3-tts-voices # Stable UUID of Athena's RTX 3060. Do not use a positional GPU index here. QWEN3_TTS_GPU_DEVICE=GPU-4834d9d7-5b61-3004-1fb3-4ae49d482d4b