Nextcloud + Tailscaleで家族のスマホ写真を自宅NASへ自動バックアップする

Photo: Suki Lee / Pexels
先に結論です。この構成で詰まるのは Nextcloud でも Tailscale でもなく、「HTTPS をどちらに持たせるか」の一点です。 ポート開放も独自ドメインも要らないのがこの組み合わせの利点ですが、Nextcloud AIO と Tailscale の両方が自前で TLS を張ろうとして噛み合わなくなる、というのが定番のつまずき方です。
もう一つ、始める前に握っておきたいことがあります。Nextcloud の自動アップロードは「同期」ではなく一方向のアップロードです。 端末で写真を消してもサーバーには残ります。バックアップとしては正しい挙動ですが、「同期している」つもりだと期待が合いません。
なお 2026年9月時点の最新安定版は Nextcloud Hub 26 Spring(server 34 系、2026年6月リリース)とされています。
この構成でできること、できないこと
Android アプリは端末のフォルダ単位で自動アップロードを設定します。「Wi-Fi のときだけ」「充電中だけ」を指定でき、アップロードが終わった元ファイルを残す/移動する/削除するも選べます。ただし設定はフォルダごとで、複数フォルダをまとめて変更する機能は要望が挙がっている段階です。カメラとスクリーンショットで2回設定する、くらいの手間は見ておいてください。
正直に書いておきたいのが iOS です。Nextcloud の iOS アプリは、バックグラウンドの自動アップロードが途中で止まる、アプリを開かないと上がらないという報告が長く続いています。iOS 側のバックグラウンド実行の制約によるところが大きいとされています。家族の iPhone を任せるなら「ときどきアプリを開く」を運用に組み込むか、少なくとも家族にそう伝えておくべきだと思います。ここを黙って始めると、いちばん困る形(バックアップしていたつもりで、していなかった)になります。
置き場所:ミニPCか、ラズパイか
Nextcloud AIO の Linux 版はメモリ4GB・2コア以上が目安として案内されています。家族数人分の写真を持たせるなら、私はもう少し余裕を見ます。プレビュー生成が想像より重いためです。
問題は2026年の相場で、AI 需要による DRAM・NAND の逼迫が続いています。以前は2万円台だった Intel N100 / N150 搭載ミニPC が5万円台という報告もあり、Raspberry Pi 5(4GB) もスイッチサイエンスで22,990円という水準です(2026年9月時点。価格は変動します)。
この用途なら x86 のミニPCのほうが素直だと思います。ラズパイでも動きますが、プレビューやサムネイルの生成で不利になりやすく、家族全員分をまとめて食わせた最初の一晩でつまずきがちです。
ディスクは CMR を選んでください。WD Red Plus 8TB は 5640rpm・キャッシュ256MB・ワークロード180TB/年・3年保証、Seagate IronWolf 8TB は 7200rpm で同等のワークロードと保証とされています。あとは買う時点で1TBあたりが安いほうで構わないと思います。なお RAID はバックアップではありません。消えたら戻らないデータを置く以上、複製をもう一段用意する前提で組んでください。
Nextcloud を建てて、Tailscale を前に置く
Nextcloud AIO は本来、公開ドメインを持ち80番と443番を開けて証明書を取る前提の作りで、CGNAT 環境では成立しません。ここに Tailscale を挟むと、ポート開放も独自ドメインもなしに、正規の証明書付き HTTPS で自宅の Nextcloud に届きます。
順番が重要です。Nextcloud のリポジトリで案内されている手順は、おおむね次の流れです。
- Tailscale の管理画面で MagicDNS と HTTPS Certificates を有効にする
- サーバーに Tailscale を入れ、
<マシン名>.<テールネット名>.ts.netを確認する - AIO を
APACHE_PORT: 11000/APACHE_IP_BINDING: 127.0.0.1で起動する(AIO 自身に TLS を張らせない) - AIO のウィザードでドメインを入れる前に、先に Tailscale 側の公開を動かす
tailscale serve --bg http://127.0.0.1:11000
- そのうえでウィザードに
<マシン名>.<テールネット名>.ts.netを入力する
4番を飛ばすと AIO のドメイン検証が通らず詰まります。順序だけの問題なので、失敗しても serve を動かしてやり直せば戻せます。
tailscale serve で出したものは tailnet の中からしか見えません。ただし HTTPS 証明書を有効にすると、その FQDN 自体は証明書の透明性ログに載って外から見える点は先に知っておいてください。名前が知られるだけで、サービスにアクセスできるわけではありません。
AIO を使わず Docker や手動で入れる場合は、config/config.php の trusted_domains に ts.net のホスト名を足し、リバースプロキシ越しなら overwrite.cli.url overwriteprotocol trusted_proxies も設定します。ここが半端だと、ログインはできるのに生成される URL が http のまま、という壊れ方をします。
モバイルアプリは正規の TLS 証明書を要求するので、証明書を Tailscale に任せる構成は相性が良いです。
家族を足す、写真が増えてから効く話
Tailscale で家族を巻き込む方法は2つあり、性質が違います。ユーザーを招待すると相手は tailnet のメンバーになり、既定ではネットワーク内のデバイスにアクセスできます(ACL で絞れます)。デバイスを共有すると、相手の一覧にはその1台だけが現れ、共有されたマシンはサブネットルーターを広告しません。家族なら招待、たまに使う相手なら共有、という切り分けで良いと思います。無料の Personal プランは2026年4月の改定で6ユーザー・デバイス数無制限になったとされています。
Nextcloud 側は家族ごとにユーザーを分けてください。1アカウントに相乗りさせると、自動アップロード先が混ざって後から分離できません。保存先も /Photos/<端末名> のように分けておくと、どの端末から上がった分かを追えます。
運用が始まってから効いてくるのがプレビューです。写真が数万枚になると一覧表示が重くなるので、previewgenerator アプリを入れて一度 occ preview:generate-all を流し、以降は preview:pre-generate を cron で回すのが定番とされています。ただしこれはディスクとプレビューを引き換えにする仕組みで、使用量がほぼ倍になったという報告もあります。最初の一括生成は重いので、家族が使っていない時間に流してください。あわせて、Nextcloud のバックグラウンドジョブは AJAX ではなく system cron にしておきます。
まとめ
- 自動アップロードは同期ではなく一方向。端末で消してもサーバーに残る。家族への説明は最初にしておく
- iOS はバックグラウンドで止まるという報告が続いている。「ときどきアプリを開く」を運用に入れる
- ハードは2026年のメモリ高騰の影響を受ける。メモリ4GB・2コアが最低線で、ディスクは CMR
- 山は HTTPS の持たせ方。AIO は
APACHE_PORT: 11000にして TLS を持たせず、tailscale serveに任せる tailscale serveを先に動かしてから、AIO のウィザードに ts.net のドメインを入れる- 家族は 招待(tailnet メンバー)か共有(1台だけ) を選ぶ。Nextcloud のユーザーは必ず分ける
まずは自分のスマホ1台だけで1週間回して、上がるべき写真が本当に全部上がっているかをサーバー側の枚数で確かめてください。家族の端末を足すのはそのあとで十分です。写真は「壊れていたことに気づくのが数年後」になりやすいデータなので、最初に疑っておくのが結局いちばん安いと思います。
運営者が作った Excel テンプレートを BOOTH で配布しています。IT 資産管理台帳(無料 Lite 版あり) / IT 資格の学習管理シート


