IRONSOFTWAREHOME

Iron Suite for .NET

10 .NETライブラリ。1つの完全なドキュメントスイート。

IRONSECUREDOCを使用する

immich Docker Compose (開発者向けの仕組み)

Curtis Chau
Curtis Chau
Updated: 2026年5月8日

Immich Dockerは、Dockerコンテナ内でのオープンソースのセルフホスト型写真およびビデオバックアップソリューションであるImmichのセットアップです。 Dockerは、物理および仮想化サーバーでのアプリケーション開発、配布、および実行のための軽量で広く採用されているプラットフォームです。 Dockerのおかげで、Immichはほとんどのシステムで簡単にインストールでき、依存関係に関連する複雑な構成や頭痛のない運用が可能です。 このコンテナ化されたImmichの管理アプローチにより、メディアファイルを安全に保存、バックアップ、および管理することが容易になります。

さらに、Dockerは異なる環境間での一貫性を保証し、ユーザーが最小限の手間でImmichインスタンスを簡単に移動またはスケールすることができます。 これは、Dockerを使用して誰もがセルフホスト型メディアバックアップソリューションを最も効率的でシームレスな方法で行えることを意味します。

Immichの機能

Immich Dockerは、Immichの写真およびビデオバックアップソリューションの展開と管理をはるかに簡単にするいくつかの即座に利用可能な機能をインストールします。 これにより、メディアファイルを安全かつ効果的にセルフホストする人々にとって非常に魅力的になります。 Immich Dockerの主な機能には次のものがあります。

展開が簡単: Immich Dockerは標準のDockerイメージを提供しており、展開が簡単です。 さらに、依存パッケージや複雑な設定からユーザーを遠ざけます; したがって、ユーザーは即座にImmichを展開できます。

クロスプラットフォーム: 各Dockerコンテナは、Linux、macOS、およびWindows OSのDockerとともに、ほとんどのシステムでデバイスが実行できることを保証します。 これにより、プロジェクトは異なる環境間で非常に移植性が高くなります。

分離: さらに、Dockerコンテナ内で実行されるImmichサービスはホストマシン上の他のアプリケーションやサービスから分離されます。これにより、競合や互換性の問題が軽減され、Immichの運用環境がより安定します。

一般的に、特に多くのメディアデータ量が関与する場合、スケーラビリティは非常に簡単です。 Dockerは本質的にスケーラブルであるため、リソースのアップグレードや増強は非常に簡単です。

セキュリティ: Dockerコンテナは基盤となるシステムからの隔離層を導入し、追加のセキュリティを提供します。 さらに、Immichのセルフホスティングはユーザーにデータとデータベースの保存場所に対する完全な制御を可能にし、プライバシーとセキュリティを高めます。

自動更新: コンテナは比較的軽量で更新が容易で、メンテナンスがしやすいです; したがって、Dockerのユーザーは、非常に少ない、または全く中断なく、新しい機能を最新のセキュリティパッチとともに簡単に切り替えることができます。

バックアップと復元: Immich Dockerはメディアのバックアップに関する唯一の信頼できる情報源を作成し、写真やビデオを復元することができます。 Dockerはすべての展開に同じデータを確保します。

カスタマイズ可能: Immichはセルフホスト型なので、ユーザーは他のサービスとのより効果的な統合やスケーリングオプションのために要件に応じて変更できます。

コミュニティサポート: オープンソースプロジェクトであるがゆえに; コミュニティはユーザーに継続的な改善、バグ修正、サポートを提供しています。

Immich Dockerのインストール

前提条件

  • システムにDockerとDocker Composeをインストールします。
  • マシンに十分なリソースがあることを確認します:4GB以上のRAMを推奨。

Immichリポジトリのクローン化

GitHubからdocker-composeファイルをダウンロードします。

git clone https://github.com/immich-app/immich.git
cd immich
SHELL

環境変数の設定

サンプル環境ファイルとdocker-compose.ymlファイルのコピーを作成して変更します。

cp .env.example .env
SHELL

.envファイルを開き、変数(ポート、保存場所、データベースの認証情報など)を設定してください。 ほとんどの構成では、デフォルト設定が十分です。

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables
# The location where your uploaded files are stored
UPLOAD_LOCATION=./library
# The location where your database files are stored
DB_DATA_LOCATION=./postgres
# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
# TZ=Etc/UTC
# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release
# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=postgres
# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=postgres
Text

Immichの起動

Docker Composeを使用してImmichサーバーを開始します。

docker-compose up -d
SHELL

immich Docker Compose (開発者向けの仕組み): 図2 - Immichサーバーの実行

このコマンドは、必要なすべてのイメージをプルし、必要なコンテナを開始します:

  • バックエンド
  • フロントエンド
  • データベース(PostgreSQL)
  • キャッシュ用Redis
  • 機械学習モデル(顔認識などの機能用)

immich Docker Compose (開発者向けの仕組み): 図3 - Docker Composeコマンド

ブラウザでImmichにアクセスする

すべてのファイルがダウンロードされたら、環境を更新してください。 コンテナが動作しているとき、ブラウザを開き、以下のURLを入力します。

http://localhost:2283
Text

.envファイルで変更した場合のみ。

Immichアカウントの作成またはログイン

初回使用:Immich URLに初めてアクセスすると、Web UIが表示されます。

immich Docker Compose (開発者向けの仕組み): 図4 - Immich

管理者アカウントの作成を求められます。

immich Docker Compose (開発者向けの仕組み): 図5 - 管理者アカウント

必要な情報を入力すると、Immichがセットアップを案内します。

immich Docker Compose (開発者向けの仕組み): 図6 - セットアップ

WebインターフェースでのImmichのセットアップ

  • 設定: 管理者ダッシュボードからImmichの詳細設定にアクセスします。
  • メディアのアップロード: テスト用に写真やビデオをアップロードします。
  • 機能の探索: 顔認識、オブジェクトタグ付けなどの他の機能をお楽しみください。

immich Docker Compose (開発者向けの仕組み): 図7 - Webインターフェース

セットアップが完了すると、ブラウザから直接Immichにアクセスでき、写真とビデオのライブラリを管理し始めることができます。

IronSecureDoc とは何ですか?

IronSecureDocは、強力な暗号化、進化したPDF操作、およびデジタル署名を特徴とする文書管理とセキュリティのための高度なユーティリティです。 それは企業や開発者に文書の機密性と完全性を提供し、円滑なアクセスを可能にし、したがってPDF文書の処理を簡素化します。 その機能を使用して開発者がプログラム的にPDFファイルおよび文書を作成、アップロード、操作、セキュア化できる場合、侵略的なPDF APIと呼ぶこともできます。

immich Docker Compose (開発者向けの仕組み): 図8 - IronSecureDoc: PDFセキュリティとコンプライアンスサーバー

その他に、IronPDFはあらゆるデータ入力からのPDFの作成を可能にするPDF APIであり、テキスト、画像、メタデータなどのパラメータを使用してコンテンツを追加および編集することができます。 これには、複数のPDFをマージしてファイルを構成したり、文書を分割したり、コメント、ハイライト、ウォーターマークを注釈として追加する機能が含まれています。

そのセキュリティ機能には、パスワード保護、AES暗号化、認証ベースのアクセス制御があり、すべての機密情報とデータをセキュリティで保護します。 さらに、デジタル署名を行って文書を認証し、金融、医療、法務のような業界で非常に重要な特徴である否認防止も可能です。 監査証跡機能により、文書上で行われたすべての操作を追跡し、より良いコンプライアンスと説明責任を実現できます。

IronSecureDoc をインストールして実行する

以下のリポジトリからIronSecureDocのDockerイメージを取得するには、このコマンドをコマンドプロンプトまたは開いているターミナルウィンドウで実行します。

docker pull ironsoftwareofficial/ironsecuredoc
SHELL

immich Docker Compose (開発者向けの仕組み): 図9 - IronSecureDocのDockerイメージ

別のコマンドを使用して動作しているコンテナでIronSecureDocを開始します。

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
SHELL

Docker 実行コマンドは、IronSecureDoc のコンテナインスタンスを開始します。

Immichから署名をダウンロードし、署名済みのPDF文書を追加する

IronSecureDocのREST APIは、開発者がソフトウェアの文書管理およびPDF処理の機能と安全にやり取りできるモダンなWebインターフェースです。 RESTfulの原則を使用して、このAPIにより、使用する技術スタックに関係なく、IronSecureDocの機能のカスタムアプリケーションへの統合を簡単に理解し、標準化することが可能になります。

immich Docker Compose (開発者向けの仕組み): 図10 - REST API

Immichからイメージをダウンロードする

immich Docker Compose (開発者向けの仕組み): 図11 - イメージ

以下はImmichにアップロードされたサンプル署名ファイルです。

using System;
using System.Net.Http;
using System.Threading.Tasks;

class ImmichIntegration
{
    private static readonly HttpClient client = new HttpClient();

    public async Task<string> GetImageFromImmich(string imageId, string immichBaseUrl, string apiKey)
    {
        // Add authorization header
        client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");

        // Make a GET request to the Immich server
        var response = await client.GetAsync($"{immichBaseUrl}/api/media/{imageId}");
        response.EnsureSuccessStatusCode();

        // Read and return the response data
        var responseData = await response.Content.ReadAsStringAsync();
        Console.WriteLine("Image data retrieved successfully!");
        return responseData; // Contains image metadata or downloadable URL
    }
}

このコードを使用して、Immichサーバーからイメージをダウンロードします。 ImmichサーバーからAPIキーを生成してください。

IronSecureDocにイメージをアップロードする

using System.IO;
using System.Net.Http;
using System.Threading.Tasks;

class IronSecureDocIntegration
{
    private static readonly HttpClient client = new HttpClient();

    public async Task UploadImageToIronSecureDoc(string imagePath)
    {
        var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost:8080/v1/document-services/pdfs/sign?sign_specific_page=0&signature_image_x=100&signature_image_y=150&signature_image_w=300&signature_image_h=400&certificate_password=********&certificate_permissions=1");
        
        // Set headers to simulate a browser request
        request.Headers.Add("sec-ch-ua-platform", "\"Windows\"");
        request.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36");
        request.Headers.Add("accept", "*/*");
        request.Headers.Add("sec-ch-ua", "\"Google Chrome\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"");
        request.Headers.Add("sec-ch-ua-mobile", "?0");
        request.Headers.Add("Sec-Fetch-Site", "same-origin");
        request.Headers.Add("Sec-Fetch-Mode", "cors");
        request.Headers.Add("Sec-Fetch-Dest", "empty");
        request.Headers.Add("host", "localhost");
        
        // Create and add image and certificate files to the request content
        var content = new MultipartFormDataContent();
        content.Add(new StreamContent(File.OpenRead(imagePath)), "signature_image_file", Path.GetFileName(imagePath));
        content.Add(new StreamContent(File.OpenRead("IronsecureDoc.pfx")), "certificate_file", "IronsecureDoc.pfx");
        content.Add(new StreamContent(File.OpenRead("Input.pdf")), "pdf_file", "Input.pdf");
        request.Content = content;

        // Send the request and ensure success
        var response = await client.SendAsync(request);
        response.EnsureSuccessStatusCode();

        // Output the result of the PDF signing
        Console.WriteLine(await response.Content.ReadAsStringAsync());
    }
}

ImmichおよびIronSecureDocの呼び出し

以下のコードは、統合を支援します。

using System.Threading.Tasks;

class Integration
{
    public async Task IntegrateImmichWithIronSecureDoc(string immichImageId, string immichBaseUrl, string immichApiKey, string imagePath)
    {
        var immich = new ImmichIntegration();
        var ironSecureDoc = new IronSecureDocIntegration();

        // Step 1: Fetch image metadata or download from Immich
        string imageData = await immich.GetImageFromImmich(immichImageId, immichBaseUrl, immichApiKey);

        // Step 2: Optionally download the image locally using imageData URL (not shown here)
        // Assume imagePath is the downloaded image file path

        // Step 3: Upload the image to IronSecureDoc
        await ironSecureDoc.UploadImageToIronSecureDoc(imagePath);
    }
}

写真を添付し、デジタル署名を適用するためにIronSecureDocのAPIを使用します。 必要なAPI呼び出しをIronSecureDocIntegrationクラスに追加して、ドキュメントを完成させてください。 以下は、署名を追加した後のIronSecureDocから生成されたサンプルPDFです。

immich Docker Compose (開発者向けの仕組み): 図12 - PDF出力

結論

ImmichとIronSecureDocはいずれも特定のニーズに応える素晴らしい仕事をしていますが、それぞれ異なるユースケースに最適に対応します。Immichはセルフホスト型で豊富な機能を持つ写真およびビデオ管理を行っており、顔認識、オブジェクト検出、マルチメディアファイルの効率的な整理などに優れています。 それは個人的または小規模なメディア保存場所管理に理想的で、ユーザーのニーズに合わせて正確にカスタマイズされたソリューションが求められている場合に最適です。

IronSecureDocは、組織全体のセキュアな文書および署名ソリューションであり、進化した暗号化の素晴らしい利点を統合したワークフローの簡潔な統合を可能にし、それによってセキュリティ、スケーラビリティ、プロフェッショナルグレードの文書処理が組み合わされます。

信頼性と遵守:強力なセキュリティと完全な監査機能を提供しているため、信頼性があり法令遵守します。 IronSecureDocのREST APIを使用することで、Web、モバイル、および企業システムの開発者がアプリケーションに安全な印刷と効率的なPDFの形式と処理を簡単に統合できます。 IronSecureDocのライセンスについて詳しくは、ライセンスページをご確認ください。 Iron Softwareの提供内容について詳しくは、Iron Suiteページをご覧ください。

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。