嫁ちゃん
わたし
嫁ちゃん
長年お世話になったレンタルサーバー(Xserver)とWordPressを手放し、自宅のアトリエで埃を被りかけていたM1 Mac miniを常時稼働のWebサーバーとして仕立て直した。
月額のサーバー代を削りたいという素朴な動機から始まったこの引っ越しは、結果として、手元のテキストエディタとWebサイトが境界線なく溶け合うような、極めて心地よい執筆環境を私にもたらしてくれた。
今回は、その引き算のシステム構成に至った経緯と、道具と暮らす思索の記録である。
書く手前の摩擦、増えていく作業過程 #
文章を書くという行為は、ただでさえ腰が重い。
白い画面を前にして、頭の中にある曖昧な思考を言葉の形に整えていくこと自体に、相当な集中力とエネルギーを要する。それなのに、執筆の前後や途中にいくつもの「作業過程」が横たわっていると、書く速度は目に見えて失速していく。ただでさえ億劫だと感じていた気持ちに拍車がかかり、次第にブログへ向かう足取りそのものが鈍ってしまう。あの停滞感は、書き手にとって実に嫌なものだ。
これまで私は、XserverにインストールしたWordPressを母艦としてブログを運用してきた。 XserverとWordPressという組み合わせ自体を否定する気は毛頭ない。世界中で磨かれ抜いたCMSであり、その堅牢さと扱いやすさには長年大いに助けられてきた。
私の中に小さな違和感──いや、澱のような疲労感が溜まり始めたのは、執筆環境を「Obsidian」へ一本化してからだった。
普段の思考やアイデア、日々のメモはすべてObsidianのMarkdownで完結している。そこからWordPressへ記事を投稿するために、私はPythonやシェルスクリプトを自作して運用していた。手元のターミナルからコマンドを叩き、WordPressのREST APIを経由してデータがシュッと流し込まれる瞬間は、元プログラマーとして確かに気持ちがいい。自作の仕組みが動く手応えには独特の快感があった。
だが、運用とは生き物である。
日々の運用を続けるうちに、手元のObsidianとWeb上のWordPressという「データの二重管理」が重い摩擦となってのしかかってきた。 Obsidianで推敲してAPIで飛ばしたはずなのに、後から誤字を見つけてブラウザ上の管理画面で直接直してしまう。あるいはその逆で、手元だけを直してWeb側へ反映させ忘れる。気がつけば「どちらが最新の正本なのか」が分からなくなり、先祖返りを防ぐための確認作業や訂正のやり直しに追われることになる。もちろん運用ルールを厳格に決めれば防げる話ではあるのだが、個人の自由な執筆の場でそこまで神経を張り詰めたくはない。
「Obsidianを開いて書く。スクリプトを叩く。ブラウザを開いてログインし、意図通りの体裁になっているか確認する」
この一連のステップが儀式化するにつれ、執筆の腰はますます重くなっていった。自作スクリプトが吐き出す些細なエラーやプラグインの仕様変更に付き合わされるたび、「私は文章を書きたいのか、それとも投稿システムの保守をしたいのか?」という疑問が頭をもたげる。
さらに、毎月確実に銀行口座から引き落とされるレンタルサーバー代とドメイン代。月1,000円前後の固定費は大金ではないが、使っていないクラウドやサブスクを少しずつ削ぎ落とし、身の回りのインフラを自分の身の丈に合ったサイズへ縮めたいという欲求が日増しに強くなっていた。
灼熱のアトリエと、逃げられない林檎 #
クラウドから降りて自宅でサーバーを立てる。そう決めたとき、常時稼働機といえば手持ちの古いIntelマシンにUbuntuなどのLinuxをインストールするのが定番の道だ。現に、私の作業部屋の片隅ではTV録画用としてLinuxマシンが1台元気に稼働している。
だが、今回Webサーバーの母艦として選んだのは、手元にあった M1 Mac mini だった。
この小さなアルミの箱が置かれているのは、普段私が革製品を仕立てているアトリエの部屋だ。 大きな革をそのまま広げられるよう、部屋の中央には広大な作業テーブルが据えられている。この部屋でもMacを操作できればと思い、一応モニターやキーボード、マウスは繋げてあるのだが、普段は画面の電源すら入れない完全な「ヘッドレス」の状態でひっそりと動かしている。
そしてこのアトリエには、ひとつ大きな問題がある。エアコンが壊れているのだ。
初夏から秋にかけて、この部屋はまさに灼熱の空間と化す。人間が長居すれば生命の危機を感じるほどの熱気がこもるため、夏場はほとんど足を踏み入れない。
「Apple SiliconのM1は驚くほど省電力で発熱しない」と世間では言われているし、それは間違いではない。だが、エアコンのない真夏のアトリエに置かれたMac miniは、話が別だ。本体のアルミボディに手を置くと、「これなら目玉焼きが焼けるんじゃないか」と本気で思えるほど熱を帯びている。
普段のMac miniはあまりに静かで、ファンの音ひとつ立てない。だがこの灼熱の環境下で無音のままでいられると、逆に「熱暴走で突然息絶えるのではないか」と怖くなってくる。結局、一定の温度を超えたら強制的にファンが回る制御ツールを導入し、あえて自らファンを回して熱を逃がしている始末だ。
ちなみに、月1,000円のサーバー代を削った代わりに「自宅サーバーの電気代」がどれほど跳ね返ってくるかは気になるところだった。 調べてみると、M1 Mac miniはこれだけ熱気を帯びていても、アイドル時の公称消費電力はわずか数W程度。24時間365日動かしっぱなしにしても、電気代は月数十円から100円前後に収まる計算になる。
実際のところ、この過酷なアトリエで本当にその程度の電力で済んでいるのか。いずれスマートプラグでも噛ませて、日々のリアルなワット数を手元で可視化してみたいところだ。
それでも、母艦としてのMac miniは頼もしい。 一度ストレージを綺麗に初期化し、軽量なDocker環境である「OrbStack」を導入した。Webサーバー、画像ストレージ(MinIO)、暗号化通信のためのコンテナを整然と並べ、「もし将来別のLinux専用機に移したくなっても、コンテナごと引っ越せばいい」という気軽な体制を整えた。
ただ、苦笑してしまうのは、Appleのエコシステムから逃れようとしているはずの自分が、自らその檻の奥深くへ潜り込んでいることだ。
今回、自宅サーバーの公開にあたって新しく「okadai.me」という独自ドメインを取得した。そこで浮上したのが「メールサーバーをどうするか」という問題だった。レンタルサーバーを解約すれば、これまで使っていたメールアドレスも消えてしまう。外部のメールサービスをあれこれ比較検討していたとき、ふと「iCloud+」にカスタムメールドメイン機能が付帯していることに気づいてしまった。
独自ドメインのメールを自分のAppleデバイスで快適に送受信したいがために、私はこれまで維持していたiCloudの無料枠を手放し、あっさりと月額課金の50GBプランを契約した。全然エコシステムから逃れられていない。むしろ、サーバーまでMacにしたことで、自分をAppleの輪郭から逃げられなくしている。その自己矛盾に、一人で呆れつつも妙に納得していた。
エコじゃない手間を越えて、エコへ至る #
新天地のWebフレームワークには、動的CMSであるWordPressをやめ、静的サイトジェネレーターの「Hugo」を選んだ。
データベース(MySQL)やPHPがアクセスごとにページを計算して組み立てる動的な仕組みを捨て、事前に出来上がった素朴なHTMLを配るだけの構造にする。これだけで、データベースのクラッシュやプラグイン起因のセキュリティホールといった懸念は根本から消え去る。
実際に環境を組み上げて文章を流し込んでみたとき、その手触りの良さに鳥肌が立った。
手元の母艦(M4 Mac mini)には43インチの4Kモニターを中心にマルチモニター環境を組んでおり、視線の端にブラウザのプレビューを常に配置できる。エディタにはNeovim(nvim)を使い、オートセーブを効かせている。 文字を打ち込み、思考のままにキーを走らせる。エディタがファイルを自動保存した瞬間、視界の隅にあるブラウザの画面が、まるで最初からそうであったかのように瞬時に書き換わる。
手元のMacで書く ➔ Obsidian Syncが検知 ➔ アトリエのM1 Mac miniが受領 ➔ Hugoがわずか数十ミリ秒でビルド。
今まで私を苛立たせていた「エディタを開いて書き、保存し、自作スクリプトを走らせ、ブラウザをリロードする」という一連の儀式が、綺麗さっぱり消滅した。思考を言葉にしたそばから、目の前の画面へ滑らかに染み出していく。この摩擦ゼロの軽快さは、一度味わってしまうともう元の運用には戻れない。
もちろん、この境地に至るまでのプロセスは、ちっとも「エコ」ではなかった。
過去にWordPressで書き溜めた記事たちを救出するため、HTMLをパースしてHugoのMarkdownへ仕立て直す移行スクリプトを自作した。さらに、古いサイト(mono-koto.blog)へアクセスしてきた読者や検索エンジンを迷子にさせないよう、記事を1本移すごとにXserverへSSHで繋ぎ、手作業で .htaccess に301リダイレクトを書き足している。
スクリプトを書き、正規表現と格闘し、ターミナルで設定ファイルを更新する。スマートな自動化とは程遠い、泥臭い手作業の連続だ。だが、この「ちっともエコじゃない手間」をひとつずつ丁寧に越えていくことこそが、後々の暮らしから余計なノイズを削ぎ落とし、本物の「エコ(身軽さ)」へ辿り着くための確かな助走なのだと感じている。
画像データの扱いにも、引き算の工夫を凝らした。 記事が増えるにつれ、写真データがObsidian Syncの同期容量上限を圧迫し始める。だが、ここで安易にSyncの上位有料プランへ課金する道は選ばなかった。画像の実体だけを自宅M1 Mac miniのMinIO(S3互換ストレージコンテナ)へ逃がし、Vaultの中身は純粋なテキストと思考のメモだけに絞って身軽に保つ。重い荷物はローカルの物置に置き、外の世界へはCloudflareのCDNキャッシュを通じて高速に配信する。
そしてセキュリティの面でも、余計な心配を手放した。 自宅サーバーを公開するにあたり、ルーターにポート開放の穴を開けたり、自宅のプロバイダIPを世界に晒したりするリスクは冒さない。Cloudflare Tunnelを通すことで、自宅のネットワークを一切危険に晒すことなく、独自ドメインとアトリエの箱を安全に直結させている。
道具の手触りと、暮らしの余白 #
システム管理やスクリプトの修復、いつやってくるか分からないプラグインの更新通知に追われる日々は、静かに幕を閉じた。
執筆を支える舞台裏は、アトリエの片隅、灼熱の部屋でファンを回しながら静かに回り続けるM1 Mac miniにすべてを委ねた。月々のサーバー代という固定費の足枷も外れ、手元で管理できる範囲だけに縮小した「引き算の運用」が、今の私のリズムにとても心地よく馴染んでいる。
わたし
嫁ちゃん
デジタルな仕組みを極力シンプルに削ぎ落としたことで、私の意識には確かな余白が戻ってきた。 かつてスクリプトのエラーログを睨みつけていた時間は、いまやアトリエの大きなテーブルで革の端切れを切り出し、ひと針ずつ糸を通す静かな時間や、愛犬そらと目を合わせてのんびりと過ごす午後のひとときへと静かに還っていく。
私は、最新の技術で自分の身の回りを武装したかったわけではない。 手仕事の革を自分の手で仕立てていくように、デジタルの道具たちもまた、自分の暮らしのサイズに合わせて少しずつ削り、余分を落とし、手のひらに収まる素朴な形に落ち着かせたかっただけなのだ。