1. 概要
1.1 目的
- 自宅環境で 安定運用できるサーバー基盤を構築し、日常利用・開発・検証環境として活用
- 個人利用のアプリ開発に加え、業務で発生するFAX書類の電子化を目的としたシステムを開発・検証
1.2 主要技術
- 仮想化: Proxmox VE(2ノードクラスタ)
- コンテナ: Docker
- 公開/ネットワーク: Cloudflare(DNS/ドメイン管理, Tunnel), VPN, Reverse Proxy
- 監視: Uptime Kuma(相互監視)
- ストレージ/NAS: OpenMediaVault(NAS)
- メール: mailcow
- CI/CD: Gitea + CI/CD(Gitea向け)
- アプリ開発: Swift(iOS), Web(PWA)
- 業務システム: LLM を用いた文書抽出・データ化、DB/CSV、管理UI
2. インフラ(Proxmox / Homelab)
2.1 基盤構成
- Proxmox VE によるサーバー構築
- 2ノードでクラスタ構成
- VM / LXC を用途に応じて分離し、サービスを段階的に追加
2.2 Proxmox 上の VM / LXC(主要コンポーネント)
- DNS サーバー(各ノードに配置)
- リバースプロキシサーバー
- VPN サーバー
- Minecraft サーバー
- コンピューター部の部員に マルチサーバーとして実運用
- 死活監視(Uptime Kuma)
- 各ノードに配置し 相互監視
- Windows(リモートアクセス用PC)
- Docker 専用サーバー
- メールサーバー(mailcow)
- NAS サーバー(OpenMediaVault)
3. Docker 上で運用しているサービス
3.1 開発・運用基盤
- Gitea(Git サーバー)
- CI/CD サーバー(Gitea 用)
- Docker 管理(Dockge / Portainer)
- DNS 同期サービス
- Cloudflare Tunnel(サービス公開の経路)
3.2 生活・個人利用
- Vaultwarden(パスワードマネージャー)
- Wiki(自宅サーバー情報:構成、運用手順、IP等の管理)
- Dawarich(Google Map タイムライン代替)
- FreshRSS(RSS)
- Paperless(レシート等の電子化)
- Upsnap(WOL サーバー)
3.3 検証/プロダクト用途
- 自作の習慣管理アプリのデプロイ
- 開発中サービスのテスト環境
- 父親の会社に導入予定の FAX 文書→注文書抽出→電子化システムの検証に利用
4. NAS(OpenMediaVault)上のサービス
- Jellyfin(動画メディアサーバー)
- NAS保存のビデオカメラ映像・アニメ等を視聴
- Navidrome(音楽メディアサーバー)
- Nextcloud(セルフホストクラウド)
- ArchiveBox(Webページのアーカイブ取得)
5. DNS / ドメイン / 公開構成
- Cloudflare を利用した DNS / ドメイン管理
- 無料ドメインとして MyDNS / DDNS Now を利用
- OCI 無料枠を利用した外部公開
- Minecraft サーバー公開、メールサーバー用途等
6. アプリ開発
6.1 iOS(Swift)— App Store 未公開
- Swift ネイティブ習慣化アプリ
- 自分用に必要機能を実装し、現在も継続利用中
- Swift ネイティブ音楽プレイヤー(開発中)
- Samba サーバー上の音楽ファイルを再生できるアプリを開発
6.2 Web(PWA)
- 習慣化アプリ(PWA)
- Webで利用可能、PWAとしてインストールも可能
- ただし PWA の体感速度や操作性に課題があり、Swift ネイティブに移行
7. 業務効率化システム(開発中):FAX注文書の抽出・データ化
7.1 背景
- 父親の会社では、注文書/請求書/請け書などが FAX で送付される
- その中から 注文書(受注書)だけを抽出し、業務で扱える形に電子化したい
7.2 システム概要
- FAXのPDF(画像)から対象文書(注文書)を判別
- LLM を用いてデータ化(構造化)
- マスターデータと照会し、整合性チェック・補正の支援
- DB へ記録
- 記録データは 修正可能で、CSV ダウンロードにも対応する管理UIを提供
7.3 取り組み(改善のための調査)
市場にある既存サービスを調査し、
「現場で便利になる要件」を取り込みながら設計・開発を継続
8. 取り組みのポイント
- 運用を前提にした設計
- DNS / Proxy / VPN / 監視 / ストレージ / メール まで含めた一貫構成
- 冗長性・可用性への配慮
- 2ノードクラスタ、Uptime Kuma の相互監視、サービス分離(VM/LXC/Docker)
- 実運用実績
- Minecraft サーバーを、部活動メンバーに提供し運用
- 開発と運用の両輪
- iOS・Webアプリ開発だけでなく、基盤上でのデプロイ/改善サイクルを回している
- 業務課題の具体的解決
- FAX文書の自動処理・データ化・照合・管理UIまで通しで構築中