【号外】gtsteffaniak/filebrowserはなぜ開発現場の「秘密兵器」なのか?導入とサンプルコード


【号外】gtsteffaniak/filebrowserはなぜ開発現場の「秘密兵器」なのか?導入とサンプルコード

gtsteffaniak/filebrowser

2025-10-19

gtsteffaniak/filebrowser は、ブラウザベースでファイルを操作できるツールです。一言で言えば、GitHubリポジトリのWebファイルブラウザ機能を、あなた自身のサーバーで簡単に実現できるようにしたものです!

このツールは、開発の様々な局面で、まるで秘密兵器のように活躍します。

テスト環境でのファイル共有
開発中のアプリケーションのテストデータや、一時的な成果物をチームメンバーやQA(品質保証)担当者にサッと共有したいとき、FTPクライアントやクラウドストレージの設定なしに、URL一つでアクセスしてもらえます。

設定ファイルの一元管理
複数のマイクロサービスやサーバーの設定ファイル(YAMLやJSONなど)を、Webブラウザから素早く確認・編集できます。サーバーにSSHでログインする手間が省けますよ。

ログファイルの即時確認
本番環境やステージング環境のログディレクトリに設置すれば、ブラウザから最新のログファイルをダウンロードしたり、内容を確認したりできて、トラブルシューティングの初動が格段に速くなります。

安全なファイルアクセス
認証機能やパーミッション設定が組み込まれているため、特定のユーザーやチームだけがファイルにアクセスできるように制限できます。機密性の高いファイルも、必要最小限のアクセス権で管理できます。

リモートでの簡単な操作
外部からファイルをアップロード・ダウンロード・削除したい場合に、煩雑なVPN接続や専用クライアントなしに、Webインターフェース経由で安全に操作できます。

導入は非常に簡単です。このツールは、Go言語で書かれているため、依存関係が少なく、単一のバイナリファイルとして動作するのが大きな魅力です。

プロジェクトのGitHubリリースページから、あなたのサーバーのOSとアーキテクチャに合ったバイナリファイルをダウンロードします。

ダウンロードしたファイルを、任意のディレクトリに配置します。

# 例: Linuxの64bit版をダウンロードし、/usr/local/binに配置
wget https://github.com/gtsteffaniak/filebrowser/releases/download/v2.24.0/filebrowser_linux_amd64.tar.gz
tar -xzvf filebrowser_linux_amd64.tar.gz
sudo mv filebrowser /usr/local/bin/

# データベースファイル(設定を保存する場所)を初期化
filebrowser config init --database /path/to/my/data.db

コマンド一つでサーバーを起動できます。--portでポート番号、--rootでWebブラウザで表示したいファイルのルートディレクトリを指定します。

# 8080ポートで、カレントディレクトリをルートとして起動
filebrowser --port 8080 --root .

ソフトウェアエンジニアなら、Dockerでサクッと試したいですよね。これが最も速く、手軽な導入方法です!

プロジェクトのルートディレクトリに docker-compose.yml を作成します。

version: '3.8'

services:
  web_file_manager:
    image: filebrowser/filebrowser:latest # 公式のDockerイメージ
    container_name: file_manager_service
    # 8080ポートでアクセス可能にする
    ports:
      - "8080:80"
    # ファイルを保存するディレクトリをコンテナ内にマウント
    volumes:
      # ホストマシンの './shared' ディレクトリがWebブラウザのルートになる
      - ./shared:/srv
      # 設定ファイルとデータベースを永続化
      - ./config/filebrowser.db:/database.db
    environment:
      # デフォルトのユーザー名とパスワードを設定
      - FB_USERNAME=devuser
      - FB_PASSWORD=devpass
      - FB_BASEURL=/files
      # データベースファイルの場所を指定
      - FB_DATABASE=/database.db
    # コンテナが落ちた際に自動で再起動
    restart: always

docker-compose.yml がある場所で、以下のコマンドを実行するだけです。

# 必要なディレクトリを作成
mkdir -p shared config

# サービスを起動
docker-compose up -d

ブラウザで http://localhost:8080/files にアクセスし、設定したユーザー名とパスワード(例
devuser/devpass)でログインすれば、/shared ディレクトリの中身がすぐにブラウザで操作できます!


gtsteffaniak/filebrowser