Docker を使用して Seafile ファイル同期サーバーをインストールする方法
すべてのデバイス間でシームレスにファイルを同期するために、Docker Compose を使用して Seafile サーバーをインストールする方法を学びます。
データのストレージと同期をサードパーティのクラウド サービスだけに依存する時代は終わりました。セルフホスティングは、その前例のない制御、プライバシー、カスタマイズの利点により、非常に人気を得ています。
この観点から見ると、Seafile は、ユーザーがデータを簡単に管理できるようにする、多用途のオープンソース ファイル同期および共有ソリューションとして際立っています。
Seafile サーバーを自己ホストすることで、データの所有権を取り戻し、機密情報を確実に管理できるようになります。
さらに、人気のある Nextcloud の優れた代替品です。必要なのは、デバイス間でファイルを同期して共有することだけだとします。その場合、Nextcloud はユーザーのコラボレーションに焦点を当てた、わずかに異なる目標を備えたより包括的なソリューションであるため、それよりも推奨します。
ただし、試してみたい場合は、詳細ガイド「Docker を使用して Nextcloud をインストールする方法」を参照すると、プロセス全体が簡単に説明されます。
さて、本題に戻ります。この記事では、Docker Compose を使用してセルフホスト型 Seafile サーバーをインストールする方法を説明します。それでは、始めましょう!
前提条件
もちろん、コンテナ化された Seafile をデプロイするには、Docker と Docker Compose がインストールされている必要があります。したがって、Docker をまだインストールしていない場合は、次のガイドのいずれかが役立ちます。
- Ubuntu 22.04 に Docker をインストールする方法
- Debian 12 に Docker をインストールする方法 (Bookworm)
- AlmaLinux/Rocky Linux に Docker をインストールする方法
- Fedora に Docker をインストールする方法
- Linux Mint 21 に Docker をインストールする方法
- Raspberry Pi に Docker をインストールする方法
もう 1 つの重要なコンポーネントは Docker Compose です。 Docker とは別に提供されることに注意してください。したがって、Docker Compose を追加する前に Docker をインストールする必要があります。そうしないと、Compose が機能しません。
Linux システムにまだインストールされていない場合でも、インストールは非常に簡単です。 Docker Compose をインストールするには、次の 2 つのコマンドを入力します。
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
必要なツールがすべて揃ったら、インストールに取り掛かります。
Docker Compose を使用して Seafile サーバーをインストールする
以下に示す Seafile サーバーの展開では、HTTPS を使用しません。これは、ローカル (ホーム) ネットワークで使用する場合に適用され、サービスがインターネットに公開されないことを意味します。
ただし、このオプションを選択する場合は、Seafile サーバーをリバース プロキシの背後に配置して、接続で SSL 暗号化を有効にすることを強くお勧めします。リバース プロキシのオプションは多数あり、最も人気のある代表的なものは、Nginx、Nginx Proxy Manager、Caddy、Traefik、HAProxy などです。
一方、Seafile サーバーを Web 上で表示する予定の場合は、クライアント アプリケーションと少し先のサーバー間の安全な接続を確保するために、有効な無料 SSL 証明書を発行するために必要なオプションを示します。
作業ディレクトリのセットアップ
最初のステップは、Docker Compose デプロイメント ファイルを配置するフォルダーを作成することです。次に、それに切り替えます。ここからは、このガイドのさらに下にあるすべてのコマンドをその場所から実行する必要があります。
mkdir seafile
cd seafile
Docker Compose の Seafile デプロイメントのセットアップ
次に、「docker-compose.yaml 」ファイルを作成し、次の内容をそこに貼り付けます。
nano docker-compose.yaml
version: '3'
services:
db:
image: mariadb:10.11
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=your-mysql-password
- MYSQL_LOG_CONSOLE=true
volumes:
- mysql-data:/var/lib/mysql
restart: unless-stopped
networks:
- seafile-net
memcached:
image: memcached:latest
container_name: seafile-memcached
entrypoint: memcached -m 256
restart: unless-stopped
networks:
- seafile-net
seafile:
image: seafileltd/seafile-mc:latest
container_name: seafile
ports:
- "80:80"
volumes:
- seafile-data:/shared
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=your-mysql-password
- TIME_ZONE=Etc/UTC
- [email
- SEAFILE_ADMIN_PASSWORD=your-password
- SEAFILE_SERVER_LETSENCRYPT=false
- SEAFILE_SERVER_HOSTNAME=seafile-server-ip-address
depends_on:
- db
- memcached
restart: unless-stopped
networks:
- seafile-net
networks:
seafile-net:
volumes:
mysql-data: {}
seafile-data: {}
ファイルを保存する前に、いくつかのパラメータを調整する必要があります。
- MYSQL_ROOT_PASSWORD: MySQL ルート スーパーユーザー アカウントに設定されるパスワードを設定します。
- DB_ROOT_PASSWD: 「MYSQL_ROOT_PASSWORD」オプションに選択したのと同じパスワードを入力する必要があります。 Seafile コンテナはこれを使用してデータベースへの接続を確立します。
- TIME_ZONE: 正しいタイムゾーンを設定します (例: 「America/New_York」)。したがって、Seafile サーバーとのやり取りは適切な時間枠内に反映されます。
- SEAFILE_ADMIN_EMAIL: これは、管理者アカウントのメール アドレスであることに加えて、管理者ユーザーが Seafile サーバーにログインするときに使用するユーザー名でもあります。
- SEAFILE_ADMIN_PASSWORD: 前のオプションの管理者アカウントのパスワード。
- SEAFILE_SERVER_HOSTNAME: Docker 化された Seafile サーバーが実行されるマシンの IP アドレスを指定します。たとえば、「SEAFILE_SERVER_HOSTNAME=192.168.0.123」です。
変更したら、ファイルを保存して閉じます。
サービスを実行しようとしているホスト上の別のサービスによってポート 80 がすでに使用されている場合は、Seafile サーバーに別のポートを指定できます。次に例を示します。
ports:
- "8088:80"
もちろん、これは、サービスが提供されたポート (たとえば 8088) で利用できることを意味します。そのため、以下に示すように、サーバーに接続するようにクライアントを構成するときは、サーバーの後にポートを指定する必要があります。名前/IPアドレス。たとえば、「http://192.168.0.123:8088」です。
Docker Compose を使用した Seafile サーバーの起動
最後に、Docker Compose を使用して、Docker 化された Seafile スタックを実行できます。これを行うには、「docker-compose.yaml 」ファイルが配置されている「seafile 」ディレクトリから以下のコマンドを実行します。
バックグラウンドでコンテナを起動して実行します。
docker-compose up -d
Docker イメージのダウンロードが開始されます。インターネット接続速度に応じて、手順全体に数秒から数分かかる場合があります。
最終的に、以下のような画面が表示され、Seafile サーバーのインストールが正常に展開され、稼働していることが通知されます。
Docker はインターネットからイメージをダウンロードする必要があるため、コンテナーの起動に最初の遅延が発生するのは初めてです。その後、Linux システム上でローカルにすでに使用できるようになるため、後続の実行には数秒かかります。
Seafile サーバーにログインする
ウェブブラウザを開き、Seafile サーバーが実行されているマシンの IP アドレスを指定します。ログイン画面が表示されます。
「docker-compose.yaml」ファイルの「SEAFILE_ADMIN_EMAIL」および「SEAFILE_ADMIN_PASSWORD」オプションに設定した電子メールとパスワードを入力し、 「ログイン」ボタンをクリックします。
おめでとう!ミッションは達成されました。新しい Seafile サーバーは正常にインストールされ、Web ベースの管理インターフェイスを介して管理できるようになりました。
SSL証明書を備えたSeafileサーバー
インターネットから Seafile サーバーにアクセスする予定がある場合は、SSL 証明書 (HTTPS) を使用して接続を保護する必要があります。
幸いなことに、Seafile には、この機能を提供する Let’s Encrypt 証明書を自動的に発行するオプションが用意されています。これを利用するために必要なのは、有効なドメイン名だけです。
このガイドでは、「seafile.tmplinux.com」を使用します。この機能を有効にするには、「docker-compose.yaml」ファイルに次の変更を加えます。
- ポート 443 を「ポート」セクションに追加します。
- 「SEAFILE_SERVER_LETSENCRYPT」オプションを「true」に設定します。
- サービスが配置されるドメイン アドレスを、値として「sever.example.com」の形式で「SEAFILE_SERVER_HOSTNAME」に追加して指定します。
サーバーを起動した後、Seafile が SSL 証明書を要求して取得するまで数秒待ちます。次にアドレスを開くと、有効な Let’s Encrypt 証明書が発行されており、サーバーとの安全な HTTPS 通信が確保されていることがわかります。
Seafile クライアントをサーバーに接続する
次に重要なことは、使用しているオペレーティング システムに応じて、Seafile サーバーと通信してローカル ファイルをサーバーと同期するためのデスクトップ クライアント アプリをインストールすることです。
Seafile は、プロジェクトのウェブサイトからダウンロードできる Windows、Linux、macOS 用のデスクトップ クライアントを提供しています。さらに、モバイル デバイスからサービスを使用する場合は、Google Play ストアから Android クライアントをダウンロードするか、Apple App Store から iOS クライアントをダウンロードできます。
以下では、最も広く使用されている Linux ディストリビューションのいくつかに Seafile クライアントをインストールする方法を示します。
Ubuntu、Debian、Linux Mint
Seafile デスクトップ同期クライアントをインストールするには、次の APT コマンドを入力します。
sudo apt install seafile-gui
Arch Linux、マンジャロ
Arch および Arch ベースのディストリビューションのユーザーは、AUR ヘルパーの助けを借りて yay
として AUR リポジトリから Seafile クライアントをインストールできます。以下を実行します。
yay -S seafile-client
ただし、Arch の AUR リポジトリを使用した経験がなくても、心配する必要はありません。私たちがサポートします。詳細なガイド「Arch Linux に AUR パッケージをインストールする方法」は、このタスクに簡単に取り組むのに役立ちます。
フェドーラ
Fedora ユーザーはディストリビューションのリポジトリに Seafile クライアントを持っているため、DNF コマンドを 1 つ行うだけでインストールできます。
sudo dnf install seafile-client
インストール後、デスクトップアプリケーションのメニューから起動できます。 「seafile」を検索し、そのアイコンが表示されたら、クリックして同じことを実行します。
ファイルを同期するディレクトリを選択します。その中に「Seafile」というサブディレクトリが自動的に作成されることに注意してください。次に、「次へ」をクリックします。
次のウィンドウに Seafile サーバーのアドレスとユーザーの資格情報を入力し、最後に [ログイン] ボタンをクリックします。
ウィンドウが閉じて、Seafile クライアント アプリが起動します。 Seafile サーバーとのファイルの同期を開始する準備ができました。
さらに、ファイルを他のデバイスに保存する必要がある場合は、他のデバイスにクライアントをインストールすることもできます。
ボーナスヒント
Seafile Sync デスクトップ クライアントに加えて、Seafile Drive クライアントもあります。これにより、ローカル ディスクと同期せずにサーバー上のファイルにアクセスできるようになります。つまり、ネットワークドライブのように機能します。
Seafile Web サイトのダウンロード セクションからダウンロードしてインストールすることで入手できます。
さらに、「わかりましたが、新しいバージョンがリリースされたときに Seafile コンテナを更新するにはどうすればよいですか?」と疑問に思っている場合は、 「私たちがあなたをサポートしますので、心配する余地はありません。」
Watchtower と詳細でわかりやすいガイド「Watchtower: Docker Container Images を自動的に更新する」の助けを借りて、常に最新の Seafile バージョンを入手できます。
最後に、ターミナルでの作業が苦手な場合は、Docker コンテナと対話するための快適な Web ベースのインターフェイスを提供する Porttainer が役に立ちます。
聞いたことはありませんか? 「Docker コンテナを管理するために Porttainer をインストールして使用する方法」を読むだけで、あなたはその虜になるでしょう。
結論
このガイドでは、Docker Compose を使用して Seafile File Sync Server をインストールする方法を説明しました。さらに、クライアント アプリケーションをインストールしてサーバーに接続する方法も説明しました。
概要を説明した手順に従うことで、Seafile のデータ同期の可能性を活用しながら、Docker Compose のカプセル化されたポータブル アプリケーション デプロイメントのメリットを活用できます。
このアプローチにより、セットアップ プロセスが合理化され、基盤となるインフラストラクチャに関係なく、一貫した信頼性の高いパフォーマンスが保証されます。
お時間をいただきありがとうございました!ご質問がある場合は、以下のコメント欄に残してください。 Seafile について詳しくは、Web サイトにアクセスするか、ドキュメントを参照してください。