コンテンツにスキップ

miniserve

提供: ArchWiki
2026年5月8日 (金) 12:30時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (訳出)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

miniserve は、HTTP 経由でファイルやディレクトリを提供できる、小さな自己完結型のクロスプラットフォーム CLI ツールです。

インストール

miniserve パッケージをインストールしてください。

使い方

ディレクトリを提供するには:

$ miniserve /srv/http

カスタムインデックスファイル、認証、インターフェイスのバインド、TLS、圧縮フォルダのダウンロード、ファイルアップロード機能などの追加オプションについては、miniserve --help または miniserve(1) を参照してください。

設定

一時的な設定

miniserve は設定ファイルを使用しません。代わりに、すべてのオプションは CLI 経由で渡すか、環境変数で設定します。例:

$ MINISERVE_VERBOSE=true MINISERVE_PORT=8081 miniserve --enable-webdav /srv/http

これは詳細ログを有効化し、ポートをデフォルトの 8080 から 8081 に変更し、読み取り専用の WebDAV サポート付きで miniserve を起動します。

永続的な設定

堅牢化された systemd テンプレートユニットファイル miniserve@.service がパッケージに含まれており、ドロップインファイルでカスタマイズできます。

まず、提供したいパス (例: /srv/http) を、有効な systemd ユニット名にするためにエスケープする必要があります。正しく整形するには systemd-escape(1) を使用してください:

$ systemd-escape /srv/http
-srv-http

-srv-http は、目的のパスを systemd ユニットの有効なインスタンス名に変換したものです。

エスケープされたパスをインスタンス名として使用し、目的の設定で miniserve を設定します:

/etc/systemd/system/miniserve@-srv-http.d/environment.conf
[Service]
Environment=MINISERVE_VERBOSE=true
Environment=MINISERVE_PORT=8087

miniserve を公開インターフェイスで直接利用できるようにする場合は、追加で IPAddressAllowIPAddressDeny を上書きする必要があるかもしれません。

完全なインスタンス名でユニットを起動および有効化し、Journal を確認してください。

テスト

起動時に、miniserve はバインドされたインターフェイスと利用可能な IP アドレスの一覧を報告します:

Bound to [::]:8080, 0.0.0.0:8080
Serving path /srv/http
Available at (non-exhaustive list):
   http://127.0.0.1:8080
   http://192.168.0.50:8080
   http://[::1]:8080

ヘルスチェックが実装されており、"OK" を返すはずです:

$ curl http://127.0.0.1:8080/__miniserve_internal/healthcheck