先日OpenCloud 8.0.0がリリースされました.
ハイライトにリアルタイムコラボレーション編集機能がエディター機能に実装されたとのことでMarkdownや.ocnote形式のファイルが複数人でリアルタイム編集できるようになったようです.
Highlights
📝 Real-time collaborative editing in the Editor
Etherpadと同じようなものかもしれないと久々にOpenCloudを動かしてみたら数カ所嵌ったのでメモしておきます.
OpenCloudはGo言語で書き直されているownCloud Infinite Scale(oCIS)のフォークです.PHPベースのownCloudやNextcloudに比べて軽量と言われています.
ハードウェア要件を見ると10人くらいまでの最低要件でこんな感じでRaspberry Pi 3でも大丈夫みたいです.GitHub releasesのバイナリにはamd64やarm64なんかの他にもレガシーなi386やarm(32bit)もあります.
Minimum (Minimal bare-metal Deployment – Up to 10 Users)
- eg. Raspberry Pi 3
- 1 GHz (Single-core)
- 512 MB Ram
- Storage: depends on data usage
OpenCloudシングルバイナリの導入
導入はDockerがありますが,GitHub Releasesのリングルバイナリを利用するのがおてがるそうです.以前もそれで試していたので今回もこれを使うことに.
$ wget -c https://github.com/opencloud-eu/opencloud/releases/download/v8.0.1/opencloud-8.0.1-linux-amd64 \
https://github.com/opencloud-eu/opencloud/releases/download/v8.0.1/opencloud-8.0.1-linux-amd64.sha256
$ sha256sum --check opencloud-8.0.1-linux-amd64.sha256
opencloud-8.0.1-linux-amd64: OK
$ chmod u+x opencloud-8.0.1-linux-amd64以前試していた設定があるので設定のdiffを確認します.
$ ./opencloud-8.0.1-linux-amd64 init --diff Do you want to configure OpenCloud with certificate checking disabled? This is not recommended for public instances! [yes | no = default] running in diff mode diff -u /home/matoken/.opencloud/config/opencloud.yaml /home/matoken/.opencloud/config/opencloud.yaml.tmp :
差分が多いしテストでしか使ってなかったので --force-overwrite で設定を上書きすることにします.
$ ./opencloud-8.0.1-linux-amd64 init --force-overwrite
OpenCloud serverが起動しない?
これで起動しようとするとコケます.
$ ./opencloud-8.0.1-linux-amd64 server panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x1b0 pc=0x7f404a03b157]
Linux armhf環境だと起動します.
リリースから数日経ってもIssueにも上がっていないし自分の環境だけそうです.
なんだろうと思いながら何度か実行するとタイミングによりメッセージが変わります.
{"level":"error","service":"opencloud","event":"opencloud: Failed service 'sharing' (1.000000 failures of 5.000000), restarting: true, error: listen tcp 127.0.0.1:9150: bind: address already in use","service":"sharing","supervisor":"opencloud","restarting":true,"failures":1,"threshold":5,"error":"listen tcp 127.0.0.1:9150: bind: address already in use","time":"2026-09-16T06:17:45+09:00","message":"service terminated"}
{"level":"error","service":"opencloud","event":"opencloud: Failed service 'sharing' (1.629878 failures of 5.000000), restarting: true, error: listen tcp 127.0.0.1:9150: bind: address already in use","service":"sharing","supervisor":"opencloud","restarting":true,"failures":1.6298778555015767,"threshold":5,"error":"listen tcp 127.0.0.1:9150: bind: address already in use","time":"2026-09-16T06:18:05+09:00","message":"service terminated"}
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x1b0 pc=0x7f843683b157]tcp 9150が当たっていそう.torがすでに使っているようです.
$ sudo ss -ltnp 'sport = :9150'
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.1:9150 0.0.0.0:* users:(("tor",pid=3949956,fd=11))
$ sudo service tor stopやっぱり駄目です.
$ pstree -Aps 3949956
systemd(1)---firefox.real(3948785)---tor(3949956)-+-lyrebird(3950548)-+-{lyrebird}(3950549)
| |-{lyrebird}(3950550)
| |-{lyrebird}(3950551)
| |-{lyrebird}(3950552)
| |-{lyrebird}(3950553)
| |-{lyrebird}(3950554)
| |-{lyrebird}(3950555)
| |-{lyrebird}(3950650)
| |-{lyrebird}(3950651)
| |-{lyrebird}(3950652)
| |-{lyrebird}(3950653)
| |-{lyrebird}(3950654)
| |-{lyrebird}(3950655)
| |-{lyrebird}(3950656)
| |-{lyrebird}(3950657)
| |-{lyrebird}(3950658)
| |-{lyrebird}(3950659)
| |-{lyrebird}(3950660)
| |-{lyrebird}(3950661)
| `-{lyrebird}(625816)
|-{tor}(3950480)
|-{tor}(3950481)
|-{tor}(3950482)
|-{tor}(3950483)
|-{tor}(3950484)
|-{tor}(3950485)
|-{tor}(3950486)
`-{tor}(3950487)tor daemonではなくTor Browserのtorが当たっていたようでTor Browserを終了するとOpenCloudが起動するようになりました.
OpenCloud側のポートの変更方法はよくわからないしTor Browserの方の設定変更も about:config をいじらないといけないようです.とりあえずTor Browserを停止してOpenCloudを試すことにします.
OpenCloud ログイン画面で500エラー
OpenCloud Serverを起動します.
$ ./opencloud-8.0.1-linux-amd64 server
これでOpenCloudを起動した状態でウェブブラウザで https://localhost:9200/ に接続するとログイン画面になりますが,ログイン画面で500エラーになります.

関連しそうなIssueがありました.
すでにOpenCloudを動かしたことがある状態で設定を上書き(init –force-overwrite)するとこういったことが起こるようです.
OpenCloudディレクトリごと一旦削除してからinitを動かすといいようです.OpenCloudのディレクトリは既定値では ~/.opencloud です.このディレクトリごと消してからinitを叩くと動くようになりました.
$ rm -rf ~/.opencloud
$ ./opencloud-8.0.1-linux-amd64 init
$ ./opencloud-8.0.1-linux-amd64 server
:ログイン画面( https://localhost:9200/ )でUsername「admin」, Password「(init時に表示)」でログインします.これでOpenCloudが利用できるようになりました.



テキストエディタ共同編集機能
OpenCloud 8.0.0からの共同編集機能を試そうと,Markdownや.ocnoteを共有して複数のユーザ,複数のウェブブラウザで試してみたが,それぞれ編集は可能なのですが,lockもなく最後に編集したものが反映される動作です.
Dockerだと動くようなので何かが足りないようです.
少し調べると共同編集機能にはYjsというJavaScript製のCRDT(Conflict-free Replicated Data Type)ライブラリが必要らしいです.
シングルバイナリのOpenCloudにはYjsは含まれておらず別途Yjsを用意して起動する必要があるようです.
DockerだとYjsは同梱されていてすぐ動かせるようです.
ということで今回は一旦ここまで.
以前はさくっとと動かせましたが今回はポートが競合したり,古い設定が悪さをしたりライブラリが足りなかったりとDockerで動かせば引っかからずに動いたんだろうなという感じでした.
Reposts