Webブラウザ上でファイル操作が可能な「Filebrowser」

サーバ上のファイル操作を視覚的にWebブラウザ上で行えるツールとして、シンプルながら実用的なのが「Filebrowser」です。ファイル保管庫としての利用ならSambaの代わりにも使えるでしょう。Nextcloudほどの機能は不要でファイル操作のみを行うなら軽快で適していると言えます。

ここではLXDコンテナ内で、Dockerを利用して導入します。

前提条件:

  • /opt/lxd-data マウント済み
  • Tailscale 認証済み(tailscaled 起動中)
  • Ubuntu 24.04 コンテナ内で実行

なお、ここでは 127.0.0.1 にのみバインドして外部から直接到達不可な状態にし、Tailscale Serve経由のHTTPSのみが実質的なエントリーポイントとしてセキュリティを高めています。

LXD内にDockerで導入

導入は、LXDコンテナ内で下記を貼り付ければOKです。

mkdir -p /opt/docker/filebrowser
cat > /opt/docker/filebrowser/compose.yaml <<'EOF'
services:
  filebrowser:
    image: filebrowser/filebrowser:latest
    container_name: filebrowser
    restart: unless-stopped
    volumes:
      - /opt/lxd-data:/srv
      - /var/lib/filebrowser:/database
    ports:
      - "127.0.0.1:8080:80"
EOF

mkdir -p /var/lib/filebrowser
chown -R 1000:1000 /var/lib/filebrowser

cd /opt/docker/filebrowser
docker compose up -d
sleep 5

# ログからパスワードを抽出
ADMIN_PASS=$(docker logs filebrowser 2>&1 | grep -oP "randomly generated password: \K\S+")

# Tailscale Serve(未設定の場合のみ実行)
if ! tailscale serve status 2>/dev/null | grep -q "8080"; then
  tailscale serve --bg http://127.0.0.1:8080
  sleep 2
fi

TAILSCALE_URL=$(tailscale serve status 2>/dev/null | grep -oP 'https://[^\s]+' | head -1)

echo "========================================="
echo "  File Browser セットアップ完了"
echo "========================================="
echo ""
echo "【認証情報】"
echo "  ユーザー名 : admin"
echo "  パスワード : ${ADMIN_PASS:-'取得失敗 → docker logs filebrowser で確認してください'}"
echo ""
echo "【アクセスURL】"
echo "  Tailscale  : ${TAILSCALE_URL:-'URL取得失敗 → tailscale serve status で確認してください'}"
echo "  ローカル   : http://127.0.0.1:8080 (コンテナ内のみ)"
echo ""
echo "【アクセス制限】"
echo "  LAN からのアクセス : 不可 (127.0.0.1バインド)"
echo "  Tailscale経由      : 可"
echo ""
echo "【コンテナ状態】"
docker compose ps
echo "========================================="

パスワードのメモを忘れずに

パスワードはここでしか確認出来ないので、メモしておきましょう。
ログインしたら、プロフィール設定の項目で日本語メニューに変更出来ます。またこのページでパスワードを変更出来ます。パスワードは12文字以上となっています。

アンインストール

# 1. コンテナ停止・削除
cd /opt/docker/filebrowser
docker compose down

# 2. Tailscale Serve 設定を削除
#    ポート未指定 = https:443 で公開されているので、443を指定してoffにする
tailscale serve --bg --https=443 off
# うまく消えない場合は現在の設定を確認してから対応するポートをoffにする
tailscale serve status

# 3. インストールディレクトリ削除(compose.yaml)
sudo rm -rf /opt/docker/filebrowser

# 4. データベース削除(ユーザー情報・設定)
sudo rm -rf /var/lib/filebrowser

# 5. イメージも消したい場合
docker rmi filebrowser/filebrowser:latest

# 6. 確認
tailscale serve status
docker ps -a | grep filebrowser
タイトルとURLをコピーしました