📸

immich+raspiでGooglePhotoクローンを立ち上げる

2025/03/12に公開

この記事について

書いてあること

自分がimmich+raspiでGooglePhotoクローンを立ち上げるのに参考にした記事のまとめや、メモ。ほぼまとめページだと思っていただければ。

書いていないこと

細かい設定や環境について。大体大雑把にメモを公開しているくらいのノリです。

きっかけ

google oneの200GBのプランがひっ迫していて、gmailが受け取れなくなっていました。次のプランが一気に、飛ぶので、これを機に大きな割合を占めるphotoの意向を考えて、調べ始めました。

immich

https://github.com/immich-app/immich

調べてすぐに、以下の記事を読み、そのコメント?からimmichというセルフホストGooglePhotoクローンがあるのを知りました。そして早速これを使おうということになりました。

https://zenn.dev/nobonobo/articles/130d7871541a4a

Raspiでubuntuを立ち上げる

今回、初めてRaspiを購入したので下記が大変参考になりました。

https://pc.watch.impress.co.jp/docs/column/ubuntu/1594245.html

メモ

  • サーバー:rasberry pi5の8GB RAM
    • 動作が十分にしないという声もあったので、raspiとはいえ潤沢なものを利用しました。
    • 今のとこ快適に動作しています
  • OS: ubuntu 24 server
  • ストレージ: 2TBのHDD

immichを立ち上げる

immichサーバー自体は簡単にdocker-composeで立ち上げることが可能です。(公式推奨)

https://immich.app/docs/install/docker-compose

データの保存先をマウントしたHDDに設定しました。

UPLOAD_LOCATION=./mnt/xxx

ネットワーク設定

/etc/netplan/99-cloud-init.yamlを以下のように設定して、lan内から接続できるようにします。後々意味なくなりますが、、、

network:
  version: 2
  renderer: networkd
  wifis:
    wlan0:
      dhcp4: false
      dhcp6: false
      optional: true
      addresses: [192.168.xx.yy/24] # 設定したいip
      gateway4: 192.168.xx.1 # lanのゲートウェイ
      nameservers:
        addresses: [192.168.xx.1]
        search: []
      access-points: # wifiの設定
        "ssid":
          password: "pass"

最初は、/etc/netplan/50-cloud-init.yamlに書いてある設定も重複して書いてしまっていましたが、これを/etc/netplan/の設定ファイルを全部読み込んでくれるようなので、lanの設定だけで平気です。

sudo netplan apply
#して
netplan status

で、実際に指定したipで動いていれば大丈夫です!

最後にuwfで2283のポートを許可します。

sudo ufw allow 2283

lan内のパソコンから、192.168.xx.yy:2283にアクセスしてimmichが立ち上がっているのを確認します(スクショ省略)。

lanの外からアクセスできるようにする

ポートフォワーディング

始めは、ポートフォワーディングをwifiに設定していましたが、辞めました。一応参考にした設定を乗せておきます。やめた理由はcloudflare tunnelを採用したからです。

https://qa.elecom.co.jp/faq_detail.html?id=7097

Cloudflare Tunnel

https://www.cloudflare.com/ja-jp/learning/network-layer/what-is-tunneling/

正直理解が怪しいですが、DNSサーバーと任意のネットワークをトンネリングするサービスと解釈しています。cloudflare tunnelのサーバー?をRaspiで立ち上げ、Raspiに立ち上がっているimmichサーバーとつなげることで、簡単に外部からアクセスできます。

cloudflareトンネルについては以下を参考にしました。

https://www.cloudflare.com/ja-jp/learning/network-layer/what-is-tunneling/

これで、外部からアクセスできれば成功です。immichのモバイルアプリをいれて、繋げましょう

https://immich.app/docs/features/mobile-app/

使用感

今1GB前後アップロードしましたが、すごく快適に使いています。
immich-goなど、google photoからの吸い上げを行うようなツールもあるようです。

https://github.com/simulot/immich-go

上に書いてあるきっかけは、他人の話で、その人用のサーバーとしても動かす用途なので、自分はこの編のツールの利用は考えていないです。僕自身はそもそもgoogle photoでバックアップとってなかったせいで、大量の写真を喪失してしまっています。。。

ただ、HDDが壊れたら終わりなので、速めにバックアップ取りたい。。。

感想

Cloudflare Tunnelが便利

特に、DNS浸透を待たなくていい点が非常に便利だと感じました。もう少し詳しくなって使ってみたい。

ネットワークについて学べた

読んでいて、想像ついているかもですが、ネットワークについての知識が疎いので、その辺の知識が少しは出来たかなー、と思いました。結局採用しませんでしたが、固定ipとポートフォワーディングの流れは、勉強になりました。アプリなどはクラウドで公開していたので、ホストしたの自体が初めての経験でした。

コスパならGoogle Photo

コスパという面では、明らかにGoogle Photoの方が上だと思うので、そこを目指すならこの選択肢はおすすめしません。きっかけと矛盾しますが、気にしない気にしない。

Discussion