家族みんなの予定、買い物リスト、食事計画、家計簿をバラバラなアプリで管理していませんか?それぞれ入力して、共有して、更新して…なかなか続かないですよね。
この記事では、「Oikos(オイコス)」というセルフホスト型の家族向け管理ツールを紹介します。Docker一つでインストールでき、月額0円、データはすべて自分のサーバーに保存できます。
結論、OikosをDockerで動かせば、タスク・買い物・食事計画・カレンダー・家計・メモを一つのアプリで家族全員が共有できます。クラウドサービス不要、サブスクリプション不要です。
前半はDockerが初めての方向けに基本的な導入手順を、後半はGoogleカレンダー連携やVPS運用など応用設定を解説します。はじめての方は基本編から、すでにDockerを使っている方は応用編からどうぞ。
Oikosとは?30秒で分かる家族向け自宅管理ツール
Oikosは、GitHubで公開されているオープンソースの家族向けプランナーです。「家(oikos)」を意味するギリシャ語が名前の由来で、家族の日常をまるごと管理することをコンセプトにしています。
主な機能はこちらです。
- タスク管理:締め切り、優先度、サブタスク、カンバンボードに対応。繰り返しタスクも設定できます
- 買い物リスト:家族全員でリアルタイム共有。食事計画から食材を自動インポートする機能も
- 食事計画:週単位でドラッグ&ドロップ。食材リストから買い物リストへ一括エクスポート
- カレンダー連携:Google CalendarとApple iCloud(CalDAV)と双方向同期
- 家計管理:収支の記録、繰り返し支出の設定、月次グラフ、CSV出力
- メモ&連絡先:マークダウン対応の付箋メモと、vCard形式での連絡先共有
最大の特徴は「データが外部に出ない」ことです。Googleドライブにもどこかのクラウドにもデータは送られず、すべて自分のサーバーに保管されます。データベースはAES-256暗号化(SQLCipher)なので、セキュリティ面でも安心して使えます。
技術的な特徴を補足すると、フレームワーク・バンドラー・トランスパイラーを一切使わない設計になっています。コードはそのままブラウザで動きます。PWA(Progressive Web App)にも対応しているので、スマートフォンのホーム画面にアプリとして追加できます。
GitHubのリポジトリ(ulsklyc/oikos)はMITライセンスで公開されており、ソースコードを誰でも確認できます。「このアプリは本当に安全か?」という疑問に自分で答えられるのが、オープンソースの強みです。
Oikosを使うために必要なもの
基本的に必要なものはDockerだけです。他のミドルウェアやランタイムを個別にインストールする必要はありません。
| 必要なもの | 詳細 | 難易度 |
|---|---|---|
| Docker | Mac/WindowsはDocker Desktop、LinuxはDocker Engine。公式サイトから無料でダウンロードできます | ★★☆ |
| Git | リポジトリのクローンに使用。なければGitHubからZIPダウンロードでも可 | ★☆☆ |
| サーバー(家族共有の場合) | 自宅PCでも可。外出先からもアクセスするなら常時起動のサーバーが必要 | ★★★ |
自分のPCで試すだけなら完全無料です。家族全員がいつでもアクセスできるようにするには、常時起動できる環境が必要になります。
外出先からも家族と共有したい方は、VPSの利用が現実的な選択肢です。ここで使うのがVPS(仮想プライベートサーバー)と呼ばれる、インターネット上に自分専用のサーバーを持てるサービスです。XServer VPSはDockerが使えるテンプレートが最初から用意されており、月額1,569円から利用できます。セットアップ方法はローカルと同じコマンドで動かせます。
【基本編】DockerでOikosを3ステップで動かす
ここからは実際のインストール手順です。Mac・Windowsどちらでも同じ手順で進められます。Dockerがインストール済みの前提で進めます。
ステップ1:リポジトリを取得する
ターミナル(Windowsの方はコマンドプロンプトまたはPowerShell)を開いて、以下のコマンドを実行します。
git clone https://github.com/ulsklyc/oikos
cd oikos
Gitが入っていない場合は、https://github.com/ulsklyc/oikosのページから「Code」→「Download ZIP」でダウンロードして解凍してもOKです。
ステップ2:環境変数ファイルを設定する
Oikosには設定ファイル(.env)が必要です。まず雛形をコピーします。
cp .env.example .env
.envファイルをテキストエディタで開いて、以下の2項目を必ず変更します。
SESSION_SECRET=ここにランダムな文字列を入力(32文字以上推奨)
DB_ENCRYPTION_KEY=ここにランダムな文字列を入力(32文字以上推奨)
SESSION_SECRETはセッション管理のキーで、DB_ENCRYPTION_KEYはデータベースの暗号化キーです。どちらも推測されにくい長い文字列に変更してください。英数字をランダムに並べた32文字以上が目安です。
この2項目をデフォルトのまま使い続けると、データベースが想定外のキーで開けなくなるリスクや、セッションの安全性が低下するリスクがあります。最初に必ず変更しておきましょう。
ステップ3:Dockerで起動して初期設定する
以下のコマンドを実行します。初回はDockerイメージのビルドが走るため、3〜5分かかります。
docker compose up -d --build
起動後、初期ユーザー作成のセットアップスクリプトを実行します。
docker compose exec oikos node setup.js
スクリプトの案内に従ってメールアドレスとパスワードを入力すると、管理者アカウントが作成されます。
完了したら、ブラウザで http://localhost:3000 にアクセスするとOikosのログイン画面が表示されます。設定したメールアドレスとパスワードでログインすれば、すぐに使い始めることができます。
💡 公式ドキュメントに沿って検証
公式の手順通りに進めたところ、
.envの設定をデフォルトのままにするとセットアップ完了後にセキュリティ上の問題が残ります。SESSION_SECRETとDB_ENCRYPTION_KEYは必ず変更しておくことが重要です。ドキュメントに記載はありますが、読み飛ばしやすい箇所なので要注意です。ドキュメントには書かれていないポイント:
docker compose upの後にdocker compose exec oikos node setup.jsを実行しないと初期ユーザーが作れず、ログイン画面から先に進めません。この手順を見落としてハマるケースが多いようです(GitHubのIssuesにも同様の報告あり)。検証環境:macOS Sequoia 15 / Docker Desktop 4.37
結果:初回ビルドで約3分半。その後
http://localhost:3000でアクセス確認。ログインからタスク作成・買い物リスト追加まで問題なく動作。PWAのホーム画面追加も正常に機能。
【応用編】実運用で使えるOikosのカスタマイズ
スマートフォンにPWAとしてインストールする
OikosはPWA対応です。アプリストアなしで、スマートフォンのホーム画面にアプリとして追加できます。インストール方法はこちらです。
iPhoneの場合:Safariでアクセス → 共有ボタン(□と↑のアイコン)→「ホーム画面に追加」
Androidの場合:Chromeでアクセス → 右上のメニュー(⋮)→「アプリをインストール」または「ホーム画面に追加」
インストール後は、通常のアプリと同じ感覚で使えます。オフライン表示にも対応しているので、ネットが切れた状態でも既存のデータを確認できます。
Googleカレンダーと連携する
Oikosのカレンダーは、Google Calendar(OAuth)と双方向で同期できます。設定の流れは以下のとおりです。
- Google Cloud ConsoleでOAuthクライアントIDを作成する
- 発行したクライアントIDとシークレットを
.envファイルに追記する - OikosのSettings → Calendar → Google Calendarから認証を進める
手順1のGoogle Cloud Console操作が少し手間ですが、一度設定すると家族全員の予定がOikosとGoogleカレンダー両方に自動反映されるようになります。Apple iCloudとの連携はCalDAVを使います。iCloudのアプリ用パスワードを発行し、CalDAVのURLとともに設定画面に入力する方式です。
家族全員がどこからでもアクセスできるようにする
自宅PCで動かしている場合、外出先からはアクセスできません。家族全員が外出先でも使えるようにするには、常時起動しているサーバーが必要です。
VPSへのデプロイは、ローカルとまったく同じコマンドで完結します。VPSにSSHでログインして、同じgit clone〜docker compose手順を実行するだけです。ConoHa VPSは月額1,000円から使えて、Docker対応のイメージが最初から選択できます。初めてVPSを触る方にも設定しやすい管理画面が特徴です。
データのバックアップ設定
Oikosのデータは./dataディレクトリに保存されています。このフォルダをコピーするだけでバックアップになります。
cp -r ./data ./data_backup_$(date +%Y%m%d)
定期バックアップには、cronで上記コマンドを自動実行する設定がおすすめです。Linuxサーバーならcrontab -eで設定できます。
ポート番号を変更する
デフォルトポートは3000番です。他のアプリと競合する場合や、特定のポートを使いたい場合はdocker-compose.ymlのportsセクションを編集します。
ports:
- "8080:3000" # 左側がホスト側ポート番号
この例ではhttp://localhost:8080でアクセスできるようになります。
言語設定を日本語にする
Oikosはドイツ語と英語に対応しています(執筆時点では日本語には未対応)。ブラウザの言語設定が英語または日本語に設定されている場合、自動的に英語インターフェースで表示されます。機能自体はシンプルで直感的なので、英語でも問題なく使えます。
よくあるトラブルと対処法
- Q:
http://localhost:3000にアクセスできない - A:
docker compose psでコンテナの状態を確認してください。Statusが「Up」になっていれば正常です。「Exit」や「Error」になっている場合はdocker compose logs oikosでエラー内容を確認します。よくある原因は.envの記述ミスやポートの競合です。 - Q: setup.jsを実行したら「already setup」と表示された
- A: すでに初期設定が完了しています。設定済みのメールアドレスでログインしてください。パスワードを忘れた場合は
docker compose exec oikos node reset-password.jsでリセットできます。 - Q: Dockerのビルドが途中で止まった
- A: ネットワーク環境によっては、パッケージダウンロード中にタイムアウトすることがあります。
docker compose up -d --buildを再実行してください。キャッシュが活用されるため2回目以降は速くなります。 - Q: 同じWiFi内のスマートフォンからアクセスしたい
- A: PCのローカルIPアドレス(例:192.168.1.x)を確認して、
http://192.168.1.x:3000でアクセスできます。MacはシステムJSON設定→「ネットワーク」、Windowsはコマンドプロンプトでipconfigを実行して確認できます。 - Q: コンテナを停止・再起動するには?
- A: 停止は
docker compose down、再起動はdocker compose up -dです。docker compose downではデータは消えません。データも含めて完全削除するにはdocker compose down -vを使いますが、これは元に戻せないので注意してください。
まとめと次のステップ
- OikosはDocker一つで動くセルフホスト型の家族向け管理ツール
- タスク・買い物・食事計画・カレンダー・家計・メモを一元管理できる
- 月額0円、データはすべて自分のサーバーに保存。クラウド不要
- PWA対応でスマートフォンのホーム画面からアプリ感覚で使える
- 外出先から家族全員で使うなら、VPSへのデプロイが現実的な選択肢
セルフホストが初めての方は、まずローカル環境(自分のPC)で試してみるのがいちばんです。3分もあればログイン画面まで到達できます。動作確認ができたら、必要に応じてVPSへの移行を検討してみてください。
DockerでOllamaをローカルで動かす方法に興味がある方は、こちらの記事も参考にどうぞ。
0人が役に立ったと評価


コメント