LMStudio/サーバー自動起動 の変更点

更新


#author("2026-08-02T06:28:44+00:00","","")
#author("2026-08-02T13:01:57+00:00","","")
[[公開メモ]]

* LMStudio サーバーを自動起動したい (WinSW + llmster) [#g427282b]

Windows11 マシンにユーザーログインしなくても勝手にサーバーが立ち上がるようにしたい。

#contents

* WinSW + llmster を使う [#z5a15da4]

- WinSW は普通のプログラムを Windows のサービスとして登録するためのフリーのツール
- llmster は LMStudio のサーバー機能のみが分離されたソフトウェア

** WinSW [#pb1649b7]

普通のプログラムを Windows のサービスとして登録するためのフリーのツール

- https://github.com/winsw/winsw/releases から直接ダウンロードする
- ここでは WinSW v2 系統を使った(v3 系統は alpha だったので)
- WinSW-x64.exe がそのまま単体で動く実行ファイル

この WinSW-x64.exe をサービスごと(LMStudio用とOllama用みたいな)にコピー・リネームして使う。

ここでは、

 C:\WinSW\LMStudio\WinSW_LMStudio.exe

という名前で保存した。

これに合わせて同盟の .xml というファイルを作ると、それが設定として読み取れる。

 C:\WinSW\LMStudio\WinSW_LMStudio.xml

設定内容は後程。

** LM Studio (llmster) [#i79b178d]

*** 1. llmster単体版をインストール [#ra5d1b41]

管理者 PowerShell にて、インストールスクリプトを即実行:

 irm https://lmstudio.ai/install.ps1 | iex

GUIアプリ同梱の lms.exe ではなく、この単体版(llmster.exe)を使うのがポイント。

GUI版はSYSTEM権限だとGUI本体のインストール場所を見失ってエラーになる。

*** 2. インストール先を確認 [#y65da560]

 C:\Users\ユーザー名\.lmstudio\llmster\バージョン番号\llmster.exe

同時に、 C:\Users\ユーザー名\.lmstudio\llmster\バージョン番号\.bundle には
クライアントである lms.exe も入る。

*** 3. SYSTEM権限用に設定共有先を教える [#fdbbdbdc]

ユーザーの LM Studio の設定と、サーバーの設定を同期させたいのだけれど、
サービス自体はシステムアカウントで動くので、どのユーザーの LM Studio 設定を
使えばいいのかを教えてやる必要がある。

 notepad C:\Windows\System32\config\systemprofile\.lmstudio-home-pointer

中身を次のように書き換える:

 C:\Users\ユーザー名\.lmstudio

これがないと、SYSTEM権限では中身が空の別の.lmstudioを見てしまい、モデル・設定が一切見えない。

*** 4. WinSW_LMStudio.xml [#j8d60148]

 <service>
   <id>LMStudioDaemon</id>
   <name>LM Studio Daemon</name>
   <executable>C:\Users\ユーザー名\.lmstudio\llmster\バージョン番号\llmster.exe</executable>
   <workingdirectory>C:\Users\ユーザー名\.lmstudio\llmster\バージョン番号</workingdirectory>
   <startmode>Automatic</startmode>
   <onfailure action="restart" delay="10 sec"/>
   <logpath>C:\WinSW\LMStudio\logs</logpath>
   <log mode="roll-by-size">
     <sizeThreshold>10240</sizeThreshold>
     <keepFiles>4</keepFiles>
   </log>
 </service>

startmode: Automatic これが Windows 起動時に自動実行することを指定している。

ポイント: llmster.exeは引数なしで直接実行する。~
これ自体がフォアグラウンドでブロッキングするサーバー本体なので、lms.exeの daemon up/server start のようなトリガー系コマンドは不要。

*** 5. インストール・起動 [#v678f172]

 WinSW_LMStudio.exe install
 WinSW_LMStudio.exe start
 WinSW_LMStudio.exe status

ここで Started となってれば OK

 lms list

で、インストール済みのモデルが表示されれば完璧。

*** 6. GUIアプリの「Enable Local LLM Service」はオフにしておく [#y6f1b353]

重複起動・混乱を避けるため。

*** 7. 注意点 [#ac73319f]

LM Studio アプリと llmster とは同時起動できないみたい。

仕方ないので CLI でできる設定等は CLI を使い、そうでなければ一旦サーバーを止め、
LM Studio アプリでいじってから、アプリ終了後にもう一度 

 WinSW_LMStudio.exe start

でサーバーを起動する。

** Ollama [#wf91fad5]

ちょっとオフトピだけど、同様にして Ollama もサーバーを動かせる。

*** 1. Ollama もサービス専用の単体版を使う [#i8206c58]

GUIインストーラー(OllamaSetup.exe)ではなく、
GitHub Releasesから ollama-windows-amd64.zip (NVIDIA用ライブラリ同梱)をダウンロードし、
専用フォルダに展開。

 C:\WinSW\Ollama\ollama.exe
 C:\WinSW\Ollama\lib\ollama\*

*** 2. 通常インストール版のスタートアップ登録は削除 [#d2717572]

 %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup

にある Ollama.lnk を削除(Ollama本体に自動起動を切る設定項目が無いため)。

*** 3. WinSW_Ollama.xml [#v76ddfdc]

 <service>
   <id>OllamaService</id>
   <name>Ollama Service</name>
   <executable>C:\WinSW\Ollama\ollama.exe</executable>
   <arguments>serve</arguments>
   <workingdirectory>C:\WinSW\Ollama</workingdirectory>
   <startmode>Automatic</startmode>
   <onfailure action="restart" delay="10 sec"/>
   <env name="OLLAMA_CONTEXT_LENGTH" value="100000"/>
   <env name="OLLAMA_MODELS" value="C:\Users\ユーザー名\.ollama\models"/>
   <env name="OLLAMA_KEEP_ALIVE" value="5m"/>
   <env name="OLLAMA_HOST" value="0.0.0.0:11434"/>
   <logpath>C:\WinSW\Ollama\logs</logpath>
   <log mode="roll-by-size"/>
 </service>

`ollama serve` はそのままブロッキングするサーバー本体なので、llmsterと同じ考え方でそのまま指定すればよい。

設定は上記のように env で指定する。

特に、まともな動作をさせるには OLLAMA_HOST と OLLAMA_CONTEXT_LENGTH は必須。

OLLAMA_CONTEXT_LENGTH がデフォルトの 4096 だと、1つ前の発言もほとんど覚えていないような残念な AI になっちゃう。

*** 4. インストール・起動 [#la3d874c]

 WinSW_Ollama.exe install
 WinSW_Ollama.exe start
 WinSW_Ollama.exe status

*** 5. LAN公開する場合はファイアウォール許可も [#z4990bb2]

 New-NetFirewallRule -DisplayName "Ollama" -Direction Inbound -Protocol TCP -LocalPort 11434 -Action Allow -Profile Private

Ollama自体に認証機構は無いので、公開範囲は信頼できるネットワークに限定すること。

** 動作確認共通 [#kc188772]

 lms daemon status
 ollama list

普段GUIで見えているモデル一覧と一致していれば成功。

** モデルごとの設定(Ollama, context lengthなど) [#n67392b7]

GUIの設定は全モデル共通のデフォルト値。モデル個別に変えたい場合はModelfileで専用バリアントを作る。

 ollama show 元モデル名 --modelfile > Modelfile
 (Modelfileに PARAMETER num_ctx 8192 などを追記)
 ollama create モデル名-8k -f Modelfile

* コメント・質問 [#h4eda959]

#article_kcaptcha

Counter: 70 (from 2010/06/03), today: 1, yesterday: 0