はじめに
DigitalOcean上にImmichのようなアプリケーションをセルフホストすることで、開発者やホームラボ愛好者はソフトウェアとデータをよりコントロールできます。このガイドでは、DigitalOceanのVPSにImmichをインストールし設定する手順を詳しく解説します。最後には、あなたのDigitalOceanドロップレット上で完全に稼働しているImmichのインスタンスを持つことができるでしょう。
必要なもの
開始前に以下を準備してください。
- DigitalOceanアカウント: まだ持っていない場合はサインアップしてください。
- VPSインスタンス: ドロップレットを作成します。最低2GBのRAMを推奨します。DigitalOceanの基本プランは月額6ドルからです。
- ドメイン名: 任意ですが、アクセスを容易にするために推奨します。
- 基本的な知識: コマンドラインインターフェースやLinuxの基本コマンドに慣れていること。
ステップ1:DigitalOceanでVPSを作成
- DigitalOceanアカウントにログイン。
- 「Create」をクリックし、「Droplets」を選択。
- 配布版を選択:Ubuntu 22.04を推奨。
- プランを選択:最低限の$6/月プランで十分です。
- お住まいの地域に近いデータセンターを選択。
- SSHキーを設定し、安全なアクセスを確保。
- 「Create Droplet」をクリック。
ステップ2:VPSにアクセス
ドロップレットが作成されたら、ターミナルからSSHで接続します。
ssh root@your_droplet_ip
ステップ3:必要なソフトウェアをインストール
Immichをインストールする前に、DockerとDocker Composeをセットアップします。
3.1 Dockerのインストール
以下のコマンドを実行します。
apt update && apt upgrade -y
apt install docker.io -y
systemctl start docker
systemctl enable docker
3.2 Docker Composeのインストール
次にDocker Composeをインストールします。
apt install docker-compose -y
ステップ4:Immichを設定
4.1 Immich用のディレクトリ作成
次のコマンドで新しいディレクトリを作成します。
mkdir ~/immich
cd ~/immich
4.2 Docker Composeファイルの作成
docker-compose.ymlという名前のファイルを作成します。
version: '3.8'
services:
immich:
image: ghcr.io/immich-app/immich:latest
environment:
- DATABASE_URL=postgres://user:password@db:5432/immich
ports:
- "3000:3000"
depends_on:
- db
db:
image: postgres
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=password
- POSTGRES_DB=immich
userとpasswordは希望の認証情報に置き換えてください。
4.3 Immichの起動
immichディレクトリから次のコマンドを実行します。
docker-compose up -d
このコマンドはImmichアプリケーションとそのデータベースをバックグラウンドで起動します。
ステップ5:Immichにアクセス
Immichが稼働したら、http://your_droplet_ip:3000からアクセスできます。ドメインを設定している場合は、それをドロップレットのIPに向けるとアクセスが容易です。
ステップ6:SSL設定(任意)
本番環境では、アプリケーションのセキュリティ確保が重要です。Let’s Encryptを利用したSSLの設定例。
- Certbotをインストール。
apt install certbot -y
- SSL証明書を取得。
certbot certonly --standalone -d your_domain.com
-
プロンプトに従います。
-
docker-compose.ymlを編集してHTTPSに対応させます。
セルフホスティングのVPSプラン比較
| プロバイダー | 月額料金 | 推奨RAM | 備考 |
|---|---|---|---|
| Contabo VPS | 5.99 EUR | 2 GB | コストパフォーマンス良好 |
| Hetzner Cloud | 4.15 EUR | 2 GB | ヨーロッパ向けに最適 |
| DigitalOcean | 6 USD | 2 GB | 開発者に人気 |
| Vultr | 6 USD | 2 GB | 高速で信頼性あり |
| Linode | 5 USD | 2 GB | サポートが良好 |
すべてのVPSプロバイダーの詳細比較は、full VPS comparisonをご覧ください。
よくある質問
DigitalOceanでImmichに必要なストレージ容量はどれくらいですか?
Immichは画像や動画の保存を想定しているため、十分なストレージ容量が必要です。基本的なインストールにはあまりスペースを要しませんが、画像はすぐに蓄積します。少なくとも20GBのストレージから始めると良いでしょう。スケーリングは簡単で、DigitalOceanでは必要に応じてストレージの追加も可能です。
他のアプリケーションと一緒にImmichを動かせますか?
はい、Dockerコンテナは隔離されているため、複数のサービスを同じVPS上で実行できます。ただし、適切にポート管理を行い、予想されるトラフィックや使用リソース(CPU、RAM)を確保してください。Nginxのようなリバースプロキシを使用してトラフィック管理とSSL終端を行うとより安心です。
セルフホスティング時のセキュリティ上の注意点は?
基本的なセキュリティ対策を施すことが重要です。データベースやユーザーアカウントには強力なパスワードを使用し、ソフトウェアは常に最新の状態に保ちます。UFWのようなファイアウォールを導入し、定期的にデータのバックアップを行ってください。また、通信を暗号化するためにHTTPSを有効化しましょう(CertbotとLet’s Encryptを使用)。
まとめ
DigitalOcean上でImmichをセルフホストするのは比較的簡単なプロセスであり、あなたのデータ管理を大きく向上させることができます。月額わずか6ドルのVPSから始められ、Immichは安全かつ効率的にメディアを管理したい開発者やホームラボ愛好者に最適です。このガイドに従えば、自分だけのImmichインスタンスを手軽にデプロイ・管理できるでしょう。ハッピー ホスティング!