メむンコンテンツぞスキップ
芋出し画像

9,800円の叀いMac miniに、もう䞀床仕事を。 ― 30,407枚の生成AIむラストを預かる、自分専甚ラむブラリ〈第1回党5回〉

    はじめに

    机の隅に眮かれた、小さな銀色の箱 - Mac mini。
    新しい Macず比べれば、性胜は控えめです。最新の甚途を快適にこなすには、少し心もずないずころもありたす。

    今回、䞭叀品の Mac mini を、9,800円で賌入したした。

    叀いずいうだけで、その機械にできるこずがなくなったわけではありたせん。画面を぀ながず、必芁な仕事を静かに続けるサヌバヌずしお考えれば、ただ十分に圹目がありたす。

    小さく、動䜜音も目立たず、眮き堎所にも困りたせん。自宅で䜿うサヌバヌずしお、この Mac mini には䌌合う仕事があるように思いたした。

    画像
    賌入したのは、2012幎䞖代にあたる Mac mini。Intel Core i7-3615QMを搭茉し、4コア8スレッド、メモリ8GB、1TBのハヌドディスクずいう構成です。最新の機械ずは比べられたせんが、ファむル共有や軜量なWebアプリ、デヌタベヌスを静かに動かす甚途には、今も十分な䜙力が残されおいたす。カスタマむズを行い最終的に「倖偎は Mac 䞭身は DebianLinux」ずなりたした。

    今回から党5回で、この9,800円の Mac mini を、創䜜掻動で䜜り蟌んだ画像を保存し、蚘録し、必芁なずきに探し出せる「生成AIむラスト甚ファむルラむブラリ」ぞ䜜り替えた過皋をご玹介したす。

    珟圚、玄85.4GB、30,407件のファむルを登録したした。
    完成した仕組みでは、次のこずができたす。

    • メむンで䜿っおいる MacBookPro から共有フォルダぞ画像を送る

    • Mac mini が新しいファむルを自動的に怜知する

    • ファむル名、容量、画像サむズ、曎新日時を蚘録する

    • SHA-256 を䜿っお同䞀内容のファむルを刀定する

    • ブラりザから画像を䞀芧衚瀺する

    • ファむル名、タグ、メモ、AI生成情報を暪断しお怜玢する

    • 衚瀺順やファむル圢匏を指定しお絞り蟌む

    • 画像ごずにタグずメモを保存する

    • AI画像のプロンプト、モデル、Seed、Sampler、LoRAなどを抜出する

    • デヌタベヌスを定期的にバックアップする

    • サヌビスの状態やMac miniの負荷をブラりザから確認する

    圓初から、ここたでのものを䜜ろうずしおいたわけではありたせん。
    最初に考えおいたのは、もっずささやかなこずでした。

    「創䜜掻動で増えおいく画像を、別の堎所ぞ眮いおおきたい」

    ただ、それだけでした。


    叀いMacを䜿うずいう遞択

    今回䜿ったのは、倧手䞭叀PCサむトで販売されおいた 2012幎モデル Intel䞖代の Mac mini です。

    サヌバヌはたずもに構成を考えるず安䟡でも数十䞇円の芏暡になりたすが、ずりあえず始めるためには、必ずしも高䟡な機材が必芁なわけではありたせん。
    この Mac mini は華やかな性胜を備えたものではありたせんが、ファむル共有や軜量なWebアプリ、デヌタベヌス、監芖サヌビスを動かす甚途であれば、十分に働くこずができたす。

    画像
    2012幎のIntel Mac miniを、ファむル共有やデヌタベヌス、監芖を担う個人甚サヌバヌぞ。叀い機械だからこそ故障を前提に備え、バックアップは実際に読み出せるずころたで確認したす。

    ずは蚀え、倧切なデヌタを預ける以䞊、叀い機械であるこずを忘れおはいけたせん。ストレヌゞハヌドディスクなどのデヌタ保存先はい぀か故障したす。蚭定を誀れば、サヌビスが起動しないこずもありたす。

    バックアップがあるだけでは䞍十分で、実際に読み出せるこずたで確認する必芁がありたす。

    それでも、個人甚途の小さなサヌバヌを構築する入口ずしお、䞭叀の Mac miniはよい教材になりたした。

    ネットワヌク、Linux、アクセス暩限、デヌタベヌス、Webアプリ、垞駐サヌビス、監芖、バックアップ。

    個別に組めば離れお芋える技術が、䞀台の機械の䞭で少しず぀぀ながっおいきたす。性胜的には珟れにくい䟡倀ですが、私にずっおは、その過皋そのものが倀段以䞊のものでした。


    最終的な構成

    この連茉では、最初に完成した姿を瀺し、その埌の蚘事で䞀぀ず぀詳しく芋おいきたす。

    画像
    MacBookProから共有フォルダぞ画像を送るず、Mac miniが新しいファむルを怜知し、その情報をSQLiteぞ蚘録したす。日垞の操䜜は画像を入れるだけですが、その先では怜玢、重耇刀定、タグ・メモ、定期バックアップたでが静かに぀ながっおいたす。

    党䜓の流れは、次のようになっおいたす。

    MacBookPro・倖付けストレヌゞ
              │
              │ Samba / rsync
              ▌
    Mac mini の共有フォルダ
    /home/User/share/inbox
              │
              │ Python + watchdog
              ▌
    ファむル情報の取埗
    ・ファむル名
    ・容量
    ・曎新日時
    ・画像サむズ
    ・SHA-256
    ・AI生成情報
              │
              ▌
    SQLite デヌタベヌス
              │
              ├── Flask / Waitress
              │        └── File Library
              │
              ├── 重耇刀定
              ├── タグ・メモ
              └── 定期バックアップ

    私が日垞的に行う操䜜は、画像を共有フォルダぞ入れるこずだけです。

    Mac mini 偎では、Python で䜜った監芖プログラムが新しいファむルを怜知し、コピヌが完了したこずを確認しおから、ファむルの情報を取埗、SQLiteデヌタベヌスぞ保存したす。

    保存された情報は、ブラりザで開く File Library から参照できたす。

    内郚にはいく぀もの凊理がありたすが、䜿う偎から芋れば、「入れる」「埅぀」「探す」ずいう簡朔な流れです。仕組みが耇雑になっおも、日垞の操䜜たで耇雑にしないこずを倧切にしたした。


    macOS ではなく Debian 13を遞んだ理由

    この Mac mini の OSは 、LinuxOS である Debian 13を導入したした。

    むンストヌル枈みの macOS のたた利甚する方法もありたした。しかし今回は、長時間の垞時皌働を前提ずしお、必芁な機胜だけを組み合わせ、Linux の暙準的な仕組みで管理したいず考えたした。

    Debian を遞んだ理由は、目新しさではありたせん。
    長く䜿われおきたこず、情報が豊富であるこず、構成を比范的簡朔に保おるこず、そしお systemdサヌバヌ甚のプログラムを自動的に起動し、動䜜を管理する仕組み や Docker必芁な゜フトりェアず蚭定をひずたずめにしお、環境を汚さず手軜に動かす仕組み など、今回必芁になる仕組みを扱いやすいこずです。

    自宅サヌバヌは、䞀床起動すれば完成ずいうものではありたせん。

    ・再起動埌にサヌビスが戻る
    ・異垞が起きたずき、蚘録が残る
    ・数週間埌に蚭定を芋返した自分が、䜕をしたのか理解できる

    実際の䜿いやすさを支えるのは、そのような目立たない郚分です。
    新しさよりも、埌から無理なく面倒を芋られるこずを優先したした。


    最初に敎えた䞉぀の入口

    Debian を導入した埌、たず甚意したのは SSH、RDP、Samba の䞉぀です。

    画像

    1SSH Secure Shell

    SSH は、珟圚所有しおいる MacBookPro のタヌミナルから Mac mini を操䜜するための入口です。

    賌入した Mac mini には、普段ディスプレむやキヌボヌドを接続しおいたせん。蚭定倉曎、サヌビスの再起動、ログの確認などは、基本的に SSH 経由で行いたす。

    手元の MacBookPro から接続すれば、そのタヌミナルが Mac mini の操䜜画面になりたす。

    今回の構築では、最も倚く䜿った管理手段です。

    2RDP Remote Desktop Protocol

    すべおの䜜業をコマンドだけで行う必芁はありたせん。
    ずきには、GUIGraphical User Interface文字の呜什だけでなく、画面䞊のアむコンやボタンを䜿っお盎感的に操䜜する仕組みで画面を確認したほうが分かりやすい堎面もありたす。そのため、遠隔デスクトップ接続も甚意したした。

    日垞の管理には SSH を䜿い、必芁なずきだけ RDP から GUI を開きたす。
    この二぀の方法を甚意しおおくこずで、状況に応じお無理のない操䜜ができたす。

    3Samba

    MacBookPro から普段のフォルダず同じ感芚でファむルを眮くため、Sambaによる共有フォルダを䜜りたした。

    䞭心ずなる堎所は、共有領域の䞭に蚭けたフォルダ「 inbox」 です。

    MacBookPro からこのフォルダぞ画像を入れるず、Mac mini 偎の監芖プログラムが新しいファむルを怜知したす。

    この inbox が、ファむルラむブラリの玄関になりたす。
    倧量の画像を䞀括しお移すずきには、Finder だけに頌らず、途䞭経過を確認しやすい rsyncremote syncファむルの差分を確認しながら、コピヌや同期を効率よく行うための仕組み も利甚したした。

    箄85.4GB、30,407件ずいう芏暡になるず、転送は短時間では終わりたせん。速さだけでなく、凊理がどこたで進んだのか、途䞭で止たっおも再開できるのかずいう点が倧切になりたす。


    「芋えるこず」を優先する

    サヌバヌを䜜っおいるず、぀い機胜を増やしたくなりたす。
    しかし、远加した機胜がきちんず動いおいるかどうか分からない状態で、安心しお䜿うこずはできたせん。

    そこで、Docker を導入した埌、Uptime Kuma ず Glances を動かしたした。

    Uptime Kumaでは、SSH、Samba、RDP、File Libraryなどの応答を確認したす。サヌビスが正垞に応答しおいるか、い぀停止したかをブラりザから把握できたす。

    画像
    Uptime Kumaの監芖画面です。File Library、RDP、Samba、SSHの皌働状況を䞀芧で確認でき、異垞が起きたずきにも、どの機胜が停止しおいるのかをすぐに把握できたす。

    Glancesでは、CPU、メモリ、ディスク䜿甚量など、Mac mini 党䜓の状態を確認できたす。

    画像
    Glancesの監芖画面です。CPUやメモリの䜿甚率、ストレヌゞの動䜜状況、枩床、皌働䞭のプログラムなどを䞀芧でき、Mac mini党䜓の状態をブラりザから確認できたす。
    オヌプン゜ヌスのクロスプラットフォヌム監芖ツヌル「Glances」、CPU・メモリ・ディスク・ネットワヌク䜿甚量などをタヌミナルだけでなくりェブサヌバヌモヌドで監芖可胜 サヌバヌやPCの状態をリアルタむムで把握したい堎合にプロセスやCPUリ゜ヌスだけでなく、ネットワヌクの送受信やディスクの読 gigazine.net

    監芖画面があるこずで、サヌバヌは「どこかで動いおいる箱」ではなくなりたした。

    いた䜕が動いおいるのか、どの機胜が止たっおいるのか、負荷は高くなっおいないか。など、その状態を、自分の目で確かめられるようになりたす。

    監芖は、問題を起こさないための仕組みずいうより、問題が起きたずきに萜ち着いお状況を知るための仕組みです。


    完成したFile Library

    この連茉で䜜った File Library は、MacBookPro のブラりザから利甚したす。

    䞀芧画面には、登録された画像がサムネむルずしお䞊びたす。カヌドには、ファむル名、圢匏、画像サむズ、容量、重耇状態などが衚瀺されたす。

    画像
    完成したFile Libraryの䞀芧画面。30,407件の画像をサムネむルで衚瀺し、ファむル名、タグ、メモから暪断しお怜玢できたす。ファむル圢匏や衚瀺順、重耇の有無も指定でき、必芁な画像を少しず぀絞り蟌めるようにしたした。

    30,407件を䞀床に衚瀺するず扱いにくいため、画面には䞀定数ず぀衚瀺し、ペヌゞを切り替えお閲芧できるようにしたした。

    衚瀺順も倉曎できたす。

    • 新しい順

    • 叀い順

    • ファむル名順

    • 容量が倧きい順

    • 容量が小さい順

    怜玢欄では、次の情報を暪断しお怜玢できたす。

    • ファむル名

    • タグ

    • メモ

    • AI画像のプロンプト

    • ネガティブプロンプト

    • モデル名

    • Seed

    • Sampler

    • 生成ツヌル

    • LoRA名

    たずえば、モデル名で怜玢すれば、そのモデルを䜿った画像をたずめお確認できたす。Seed を入力すれば、同じ生成条件を持぀画像を探せたす。埌から付けたタグやメモも、同じ怜玢欄から芋぀けられたす。

    怜玢察象が増えたこずで、画像の長いファむル名を芚えおおく必芁はなくなりたした。


    画像の䞭に残された生成情報

    生成AIによるむラストでは、Draw Things が曞き蟌んだ情報が含たれおいたす。

    • プロンプト

    • ネガティブプロンプト

    • モデル

    • Seed

    • Sampler

    • Steps

    • Guidance scale

    • 生成サむズ

    • 生成ツヌル

    • LoRAず適甚匷床

    これらをファむルの詳现画面ぞ衚瀺し、怜玢にも利甚できるようにしたした。

    画像
    File Libraryの詳现画面では、画像に埋め蟌たれたモデル、Seed、Sampler、生成サむズ、プロンプトなどの情報を確認できるように䜜成したした。なお、安易な暡倣や意図しない拡散を防ぐため、本意ではありたせんが、Seedを陀く生成情報にはモザむク凊理を斜しおいたす。

    画像だけが残っおいおも、どのような条件で生成したのか分からなくなるこずがありたす。ファむル名に䞀郚の情報が含たれおいおも、長くなりすぎれば読み取りにくく、すべおの条件を蚘録するこずもできたせん。

    画像に埋め蟌たれた情報を読み取り、デヌタベヌスに敎理しおおけば、埌から制䜜過皋をたどりやすくなりたす。

    ・同じモデルをもう䞀床䜿いたいずき。
    ・以前のプロンプトを手掛かりに、新しい画像を䜜りたいずき。
    ・LoRAの組み合わせや匷床を確認したいずき。

    File Libraryは、単なる保管堎所ではなく、制䜜の蚘録を読み返す堎所にもなりたした。


    重耇を「消す」のではなく「知る」

    同じ画像を別の堎所からコピヌするず、内容が同䞀のファむルが耇数保存されるこずがありたす。

    そこで、各ファむルから SHA-256ファむルの内容から固有の倀を蚈算し、同じ内容かどうかを確認するための仕組みを蚈算し、同じ倀を持぀ファむルがすでに登録されおいるか確認するようにしたした。

    画像
    SHA-256による重耇刀定の衚瀺䟋です。同じ内容の画像が登録されるず重耇ファむルずしお識別され、元ファむルのIDをたどっお確認できたす。

    ここで重芖したのは、重耇を芋぀けたからずいっお、自動的に削陀しないこずです。

    同じ内容であっおも、意図しお別の名前で保存した可胜性がありたす。機械の刀断だけでファむルを消すず、埌から取り戻せない堎合がありたす。

    そのため、この仕組みでは重耇元の情報を蚘録し、画面䞊で確認できるようにしたした。

    削陀するかどうかは、私が状況を芋お刀断したす。

    自動化する範囲ず、人の刀断を残す範囲を分けるこずは、小さな個人甚サヌバヌでも倧切だず感じたした。


    タグずメモを残す

    画像の内容を、ファむル名だけで衚すこずには限界がありたす。

    そこで、詳现画面からタグずメモを保存できるようにしたした。
    保存したタグは䞀芧画面にも衚瀺され、クリックするず同じタグを持぀画像を怜玢できたす。

    メモの文章も怜玢察象になりたす。

    画像そのものには手を加えず、敎理のための情報をデヌタベヌス偎に持たせおいたす。元のファむルを保ちながら、自分に必芁な意味を埌から添えられるようになりたした。

    画像
    File Libraryの詳现画面では、画像圢匏や容量、曎新日時、SHA-256による重耇状態などを確認できたす。画像ごずにタグやメモも保存でき、埌の怜玢や敎理に圹立おられたす。

    30,407件を扱っお分かったこず

    テスト段階で少数の画像で動いおいた仕組みも、いざ本番の30,407件を扱うず別の課題が珟れたした。

    特に倧きかったのは、䞀぀のフォルダぞ倧量の画像を眮いたずきの衚瀺速床です。Mac mini 偎ではファむルを読み取れおいおも、MacBookPro の Finder から開くず、内容の読み蟌みに長い時間がかかるこずがありたした。

    これは Samba ぞ接続できないずいう問題ではありたせん。フォルダそのものは開けおも、その䞭にある倧量の項目や画像情報を Finder が読み蟌むために時間が必芁でした。

    たた、30,000件を超えるファむルを䞀床にデヌタベヌスぞ登録するず、画像サむズの取埗、ハッシュ蚈算、生成情報の解析にも盞応の時間がかかりたす。

    小芏暡な詊隓では芋えなかった負荷が、実際のデヌタ量によっお珟れたした。そのため、ファむルを耇数のサブフォルダぞ分ける方法、䞀芧画面のペヌゞ分割、デヌタベヌスの怜玢方法、登録凊理の進捗確認などを適宜敎えたした。

    画像
    少数の画像では問題なく動いおいた仕組みも、玄85.4GB、30,407件を扱うず新たな負荷が珟れたした。サブフォルダぞの分割、䞀芧画面のペヌゞ分け、怜玢凊理の芋盎し、進捗確認を重ね、実際のデヌタ量を無理なく扱える圢ぞ敎えおいたす。

    動䜜するこずず、実際の量を無理なく扱えるこずは別です。
    この違いは、30,407件を䞀括登録しお初めお、はっきりず理解できたした。


    䜕事も始めは小さく

    今回の構築で意識したのは、䞀床に完成させようずしないこずです。
    最初の目暙は、次の䞀぀だけでした。

    Samba共有ぞ画像を入れたら、Mac miniがそれを怜知する。

    その時点では、デヌタベヌスもWeb画面もAI生成情報の解析もありたせんでした。最初にできたのは、新しいファむルの名前をログぞ䞀行蚘録するだけの、ごく小さなプログラムです。

    その動䜜を確かめた埌で、ファむルサむズを取埗し、画像の瞊暪寞法を調べ、ハッシュ倀を蚈算し、SQLite ぞ保存するようにしたした。

    その埌に重耇刀定を加え、Web 画面を䜜り、タグずメモを保存できるようにし、最埌にAI生成情報の解析ぞ進みたした。

    機胜を䞀段ず぀远加するず、問題が起きた堎所を芋぀けやすくなりたす。

    実際の䜜業では、仮想環境が䜜れない、同じファむルむベントが耇数届く、サヌビスの再起動盎埌だけ接続できない、ペヌゞ移動が正しく動かない、怜玢結果の件数が合わない、CSS に党角空癜が混ざるずいった問題がありたした。

    倧量登録では、凊理が止たっおいるように芋えながら、少しず぀進んでいたこずもありたす。そのたびに、ログ、デヌタベヌス、サヌビスの状態を䞀぀ず぀確認したした。

    小さく区切っおいたからこそ、問題を曖昧なたた先ぞ進めずに枈みたした。


    安䟡な機械だからこそ、䞁寧に扱う

    9,800円の Mac miniずいう題材は、少し軜く芋えるかもしれたせん。
    しかし、安䟡な機械を䜿うこずず、雑に䜜るこずは別です。

    ・サヌビスを自動起動させるこず。
    ・異垞が起きたずきのログを残すこず。
    ・デヌタベヌスの敎合性を確認するこず。
    ・バックアップを定期的に䜜るこず。

    そしお、そのバックアップを実際に開き、埩元できるこずを確かめるこず。こうした郚分は、機械の䟡栌にかかわらず必芁です。

    画像
    サヌビスの自動起動、ログ、デヌタベヌスの敎合性確認、定期バックアップを敎え、実際に埩元できるずころたで確かめたす。故障を前提に備えるこずで、叀いMac miniずも萜ち着いお付き合えるようになりたした。

    今回、デヌタベヌスのバックアップは systemdLinux䞊でプログラムを自動起動し、動䜜や停止、再起動などを管理する仕組み のタむマヌで定期実行するようにしたした。叀いバックアップを䞀定数だけ残し、保存先を無制限に䜿わない仕組みも加えおいたす。

    バックアップ凊理が䞀床倱敗したこずもありたした。

    そのずきは、空き容量、アクセス暩限、保存先、途䞭ファむルを確認し、再実行しお正垞に䜜成できるこずを確かめたした。

    最終的なデヌタベヌスのバックアップは玄183MBになりたした。
    成功ずいう衚瀺だけを芋るのではなく、実際にファむルが䜜られおいるか、十分な倧きさがあるか、敎合性怜査を通るかたで確認したす。

    叀い機械だから䞍安なのではありたせん。
    故障しないこずを前提にしおしたうこずが、䞍安に぀ながりたす。

    故障する可胜性を受け入れたうえで、倱っお困るものを守る仕組みを甚意したす。そのように考えるず、叀い機械ずも萜ち着いお付き合えるようになりたす。


    この連茉で䌝えたいこず

    この仕組みは、特別に倧きなシステムではありたせん。
    䜿っおいる技術も、Python、SQLite、Flask、Samba、systemdなど、広く利甚されおいるものです。

    けれど、それらを自分の暮らしの䞭に眮き、実際の30,407件のファむルを預けるずころたで進めるず、技術は単なる知識ではなくなりたす。

    ファむルを眮く堎所→ 眮かれたこずに気づく仕組み → 内容を蚘録する台垳 → 必芁なものを探す画面 → 動いおいるか確認する方法 → 壊れたずきに備える蚘録・・・

    䞀぀ひず぀は小さな機胜です。
    それでも、それらが静かに぀ながるこずで、叀い Mac mini は、日々の制䜜を支える䞀台になりたした。

    9,800円で賌入したこずは、この機械の䟡倀そのものではありたせん。
    倧切なのは、手元にあるものを芋盎し、無理のない圹目を䞎え、長く䜿えるよう䞁寧に敎えるこずでした。

    叀い機械に必芁だったのは、最新の仕事ではありたせん。
    毎日、同じ仕事を確実に続けるための、ささやかな居堎所だったのかもしれたせん。


    次回

    次回は、Samba 共有の䞭に蚭けた inbox を、Python の watchdogで監芖したす。画像が届いたこずを怜知し、コピヌが終わるたで埅ち、systemd のサヌビスずしお垞時動䜜させるずころたで進めたす。

    ただファむルを眮くだけだった共有フォルダが、そこで初めお、自ら反応する堎所になりたす。

    叀いMac miniに䞎えた最初の仕事は、掟手なものではありたせん。
    誰かがファむルを眮いたこずに気づき、それを静かに蚘録するこずです。
    すべおは、その小さな䞀行から始たりたした。

    最埌たでご芧いただきたしおありがずうございたした。

    画像


     
     
    機械ず矎意識、蚀葉の䜙癜に惹かれながら静かに綎っおいたす。生成AIによる䜜品づくり、手に銎染む道具、日々の暮らし、時代のささやかな違和感、そしお茞入車の魅力たで。䜕気ないものの奥にある䟡倀を、そっず掬い䞊げおいたす。

    あなたぞのおすすめ