miniserve
miniserve は、HTTP 経由でファイルやディレクトリを提供できる、小さな自己完結型のクロスプラットフォーム CLI ツールです。
インストール
使い方
ディレクトリを提供するには:
$ 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 を公開インターフェイスで直接利用できるようにする場合は、追加で IPAddressAllow と IPAddressDeny を上書きする必要があるかもしれません。
完全なインスタンス名でユニットを起動および有効化し、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