Collabora Online (ひらめPC)
// 最終更新: 2026-08-26 — hirame 撤去により本構成は消滅 (以下は再構築用の記録)
【重要】2026-08-26 現在、この構成は存在しない。
Collabora Online を載せていた hirame (X58A-UD3R) は物理的に撤去済みで、 実機確認 (ping 不達 / 12XS
結果として Nextcloud のオフィス編集機能 (Collabora) は現在利用できない。 復旧するには、 まず Collabora の載せ替え先ホストを決めるところから検討し直す必要がある (R640 上の docker、 または新規機材)。
以下の記述はすべて撤去前の構成の記録であり、 再構築時の参照用に温存している。 現況ではない点に注意。
Collabora Online を載せていた hirame (X58A-UD3R) は物理的に撤去済みで、 実機確認 (ping 不達 / 12XS
Te2/0/10・Te2/0/11 とも notconnect) でも存在が確認できない。 対向の maguro も停止中 (IPMI のみ生存) のため、 fabric 直結経路 (173.0.0.6 ⇄ 173.0.0.5) も両端ごと消滅している。結果として Nextcloud のオフィス編集機能 (Collabora) は現在利用できない。 復旧するには、 まず Collabora の載せ替え先ホストを決めるところから検討し直す必要がある (R640 上の docker、 または新規機材)。
以下の記述はすべて撤去前の構成の記録であり、 再構築時の参照用に温存している。 現況ではない点に注意。
記録 Collabora は hirame (X58A-UD3R, Ubuntu) 上で Docker コンテナ。 fabric 直結で maguro NC と疎結合。 (〜2026-08-26 撤去まで)
ホスト hirame の役割
| 項目 | 値 |
|---|---|
| ホスト名 | hirame (Gigabyte X58A-UD3R) |
| OS | Ubuntu |
| 主要IP | 192.168.10.40 (MGMT) / 192.168.20.40 (DATA) / 192.168.50.40 (UPDATE) / 173.0.0.6 (fabric to maguro) / 173.0.0.10 (fabric to R640) |
| 主役 | Collabora Online Docker container (collabora/code 25.04.9.4) |
| その他 | 検証環境、 補助ツール |
Collabora Docker 構成
| 項目 | 値 |
|---|---|
| image | collabora/code (Collabora Online Development Edition 25.04.9.4) |
| container 名 | collabora |
| compose ファイル | /home/hirame/collabora/docker-compose.yml |
| compose project | collabora |
| port | 9980/tcp |
| extra_hosts | cloud.k2-o.net:173.0.0.5 (maguro fabric 直結、 2026-05-14) |
| restart | unless-stopped |
環境変数 (compose env)
extra_params=--o:ssl.enable=false --o:ssl.termination=true server_name=cloud.k2-o.net aliasgroup1=https://cloud\.k2-o\.net:443 username=admin password=<管理者パスワード>
aliasgroup1 = Collabora側の WOPI ホスト許可。 NC ホスト名 (cloud.k2-o.net) をエスケープ済正規表現で指定。 これと NC 側の
wopi_allowlist の両方マッチが必要 (二層認証)。
ネットワーク経路
| 方向 | 経路 | 備考 |
|---|---|---|
| NC → Collabora | maguro compose-app-1 → 173.0.0.10:9980 | fabric R640-HIRAME-FAB 経由 (173.0.0.8/30) |
| Browser → Collabora | browser → cloud.k2-o.net → maguro nginx /browser/ proxy → 173.0.0.10:9980 | WebSocket + HTTP |
| Collabora → NC (WOPI) | container → docker bridge → hirame eth → 173.0.0.5 (maguro fabric) → maguro nginx | 2026-05-14 fabric 直結化 |
起動・停止
# hirame で実行
cd /home/hirame/collabora
# 起動
docker-compose up -d
# 停止
docker-compose down
# 再起動 (image更新後など)
docker-compose pull && docker-compose down && docker-compose up -d
# 状態確認
docker ps --filter name=collabora
docker logs collabora --tail 50
# 環境変数 / extra_hosts 確認
docker inspect collabora --format '{{.HostConfig.ExtraHosts}}'
docker inspect collabora --format '{{range .Config.Env}}{{println .}}{{end}}'
Collabora 内部からの NC アクセス確認
# container 内 DNS 解決確認
docker exec collabora getent hosts cloud.k2-o.net
# → 173.0.0.5 cloud.k2-o.net
# container → NC 疎通
docker exec collabora curl -sk -o /dev/null -w '%{http_code} via %{remote_ip}\n' \
--max-time 8 https://cloud.k2-o.net/status.php
# → 200 via 173.0.0.5
Collabora の管理画面
# admin console (要認証) http://173.0.0.10:9980/browser/dist/admin/admin.html # user: admin / pass: docker env の password
ハマりやすいポイント
// docker-compose v1 (Python版) の KeyError
docker-compose up -d --force-recreate 時に KeyError: 'ContainerConfig'。 新しい image との非互換。
解決: docker-compose down → docker-compose up -d で fresh up する。
// extra_hosts が反映されてない
compose.yml を編集後、 既存 container を down しないと extra_hosts が反映されない (running container は変更されない)。 down → up 必須。
// 「認証されていないWOPIホスト」エラー
WOPI 二層認証のどちらかが拒否。 Collabora 構築レポート 参照。
// hosts file がコンテナ内に反映されてない
hirame ホスト側の /etc/hosts はコンテナ内では使えない (docker network isolation)。 必ず extra_hosts または --add-host で渡す。
バージョン情報
# 公式 discovery で確認
curl http://173.0.0.10:9980/hosting/capabilities
# 出力例
{"productName":"Collabora Online Development Edition","productVersion":"25.04.9.4",...}
設計判断 / 履歴
- なぜ hirame に Collabora を置くか: Collabora は CPU/RAM負荷が高い (Office レンダリング)。 R640 / maguro と分離して干渉を避ける。 ハードウェアは Gigabyte X58A-UD3R (旧PC流用)、 用途特化で十分
- fabric 直結化 (2026-05-14): 旧
--add-host cloud.k2-o.net:173.0.0.9(R640 fabric) から173.0.0.5(maguro fabric) に変更。 R640 SNI迂回を廃止して経路短縮 + セキュリティ向上 - aliasgroup1 のエスケープ:
https://cloud\.k2-o\.net:443ドット (.) は正規表現で escape 必要 - SSL termination は外側で:
--o:ssl.enable=false --o:ssl.termination=true。 Collabora 自体は HTTP で動かし、 maguro nginx で SSL終端