[Unit] Description=Lakehouse-Go chatd — multi-provider LLM dispatcher Documentation=https://git.agentview.dev/profit/golangLAKEHOUSE After=network-online.target Wants=network-online.target # Operator prereq: Ollama on localhost:11434 for the bare/ollama/ # providers; cloud providers (ollama_cloud, openrouter, opencode, # kimi) read keys from /etc/lakehouse/.env per chatd # config. Missing key files leave that provider unregistered (404 # at first call, never 503). [Service] Type=simple User=lakehouse Group=lakehouse WorkingDirectory=/var/lib/lakehouse ExecStart=/usr/local/bin/lakehouse/chatd -config /etc/lakehouse/lakehouse.toml Restart=on-failure RestartSec=5 EnvironmentFile=-/etc/lakehouse/auth.env # chatd reads provider key files via paths in lakehouse.toml [chatd] # (ollama_cloud_key_file etc.) — each is its own EnvironmentFile so # operators can rotate one provider without restarting others. EnvironmentFile=-/etc/lakehouse/ollama_cloud.env EnvironmentFile=-/etc/lakehouse/openrouter.env EnvironmentFile=-/etc/lakehouse/opencode.env EnvironmentFile=-/etc/lakehouse/kimi.env NoNewPrivileges=true ProtectSystem=strict ProtectHome=true PrivateTmp=true ReadWritePaths=/var/lib/lakehouse /var/log/lakehouse StandardOutput=journal StandardError=journal SyslogIdentifier=lakehouse-chatd [Install] WantedBy=lakehouse-go.target