© 法政大学 理工学部 創生科学科 小林一行実験室

法政大学理工学部創生科学科 小林一行研究室では、これまでKVM(Kernel-based Virtual Machine)上に複数の仮想サーバを構築し、php、Apache、nginx、Tomcat、Bind、Postfix、Dovecot、MySQL、MariaDB などを用いたモノリシック型サーバ環境での運用を行ってきました。しかし、各ソフトウェアに対するセキュリティ対応に伴うバージョンアップでは、サービスアプリケーションのバージョン依存関係の考慮など、保守作業が次第に煩雑化・複雑化してきたため、Dockerによるマイクロサービス構成への移行を進めました。現在では、複数サービスのオーケストレーションを伴うDocker環境を構築し、安定した運用を実現しています。

KVMサーバの用途により構成は若干異なりますが、標準的な構成として、各KVMホスト上にDockerコンテナを展開し、以下のサービスを提供しています。

基本サービス

  • DNS/Reverse Proxy:Traefik proxy + Bind + Let's Encrypt + OpenDKIM

  • メールサーバ:Mailcow

  • メーリングリスト:Mailman3

  •  Webサーバ: Apache httpd

加えて、以下のDockerコンテナを作り、KVMサーバの用途に応じて運用中です:

  • ファイル共有:Nextcloud

  • 全文検索: Elasticsearch(Nextcloud用)

  • Office互換環境: Collabora(Nextcloud用)

  • Git/Dockerリポジトリ:Forgejo

  • Webメール : SnappyMail 

  • グループウェア: Gsession

  • Webサイト管理:Joomla

  • 軽量LLM環境: Ollama

  • 対話WebUI: WebUI(Ollama用)

  • 画像生成AI: Automatic1111(Stable Diffusion

  • TeX環境: Overleaf-toolkit

また、複数のKVMホストの統合的な死活監視には、Dockerコンテナ版のZabbixを利用し安定運用を行っています。