SimpleHelpサーバーの問題

これが私がやらなければならないことです!SimpleHelpサーバーをアップグレードするには、プログラムが保存されている場所にアクセスする必要があるのですが、デフォルトではアクセスできません。それか、コンテナ全体を再構築しなければなりません!すべての動画を見たり、compose(Compose)を学んだりする時間がなかなか取れません…

これは私がほのめかしている制限の一つです。CS(Container Station)はとても親切に手取り足取りしてくれるので、つい自分で詰まったり、怠けてしまったりしやすいです。

/share/Container/を探ってみてください。/share/Container/<アプリケーション名>/があるはずです。
例えば /share/Container/SimpleHelp/<appdata/config/configuration/data/SOMETHING HERE> のような感じで、そのフォルダをどこか別の場所に mv して、バインドマウントで戻すことができます。
どのフォルダが必要か(config+cache+tmpなど)はインストールドキュメントに書いてあるはずです。そして一度バインドマウントにしてしまえば、コンテナを何度でも再作成/削除できます。

何も名前を付けていなかった場合は、今から匿名ボリュームを探すかくれんぼになります。
docker inspect --type container -f '{{range $i, $v := .Mounts }}{{printf "%v\n" $v}}{{end}}' <コンテナ名またはID>
これで何か有用な情報が出てくるはずです。
私は状態を保存する必要のないコンテナがいくつかしかないので、あなたが何を探す必要があるか100%は分かりませんが…

[admin@TheVault arcane]# ls -al /share/ZFS530_DATA/.qpkg/container-station/docker/volumes/
drwx-----x    3 root     root             5 Sep 22 11:06 .
drwx--x---   13 root     root            14 Sep 18 22:41 ..
drwx-----x    3 root     root             3 Sep 11 08:58 3a12c9a67706cd7e7b3bdd16df83391521e4e60d1d4024707b87a7a2325f6eea
brw-------    1 root     root        0,  57 Sep 18 22:41 backingFsBlockDev
-rw-------    1 root     root         65536 Sep 22 11:06 metadata.db
[admin@TheVault arcane]# ls -al /share/ZFS530_DATA/.qpkg/container-station/docker/volumes/3a12c9a67706cd7e7b3bdd16df83391521e4e60d1d4024707b87a7a2325f6eea/
drwx-----x    3 root     root             3 Sep 11 08:58 .
drwx-----x    3 root     root             5 Sep 22 11:06 ..
drwxr-xr-x    2 root     root             2 Sep 11 08:58 _data

これは私の匿名ボリュームの一つです。ここから mv でデータを取り出すことができます。


私のコンテナ内には重要なものは何もありません。なので、いつでも何でも消したりリセットしたりできます。

[admin@TheVault arcane]# grep -R '/share/' /share/docker/stacks/
/share/docker/stacks/jellyfin/compose.yaml:      - /share/docker/appdata/jellyfin/cache:/cache
/share/docker/stacks/jellyfin/compose.yaml:      - /share/docker/appdata/jellyfin/config:/config
/share/docker/stacks/jellyfin/compose.yaml:      - /share/Media Library:/mnt/mediaShare:ro
/share/docker/stacks/jellyfin/compose.yaml:      - /usr/share/fonts/:/usr/local/share/fonts/custom:ro

/share/docker/stacks/uptime-kuma/compose.yaml:      - /share/docker/appdata/kuma/data:/app/data

/share/docker/stacks/qbittorrent/compose.yaml:      - /share/docker/appdata/qbittorrent/cache:/cache
/share/docker/stacks/qbittorrent/compose.yaml:      - /share/docker/appdata/qbittorrent/config:/config
/share/docker/stacks/qbittorrent/compose.yaml:      - /share/Public/qBittorrent:/systemSSD
/share/docker/stacks/qbittorrent/compose.yaml:      - /share/Scratch/qBittorrent:/raidHDD

/share/docker/stacks/arcane/compose.yaml:      - /share/docker/appdata/arcane/config:/app/data
/share/docker/stacks/arcane/compose.yaml:      - /share/docker/compose:/app/data/templates
/share/docker/stacks/arcane/compose.yaml:      - /share/docker/stacks:/app/data/projects

/share/docker/stacks/portainer-ce/compose.yaml:      - /share/Container/portainer-ce/data:/data:rw

小さな例外として、私の元々のPortainer(ポータイナー)インストールがありますが、Arcaneがもう少し成熟したら削除する予定です。CSを学んでいる間に何度か再インストールしたので、/share/Container/を消すこともあり得ます。だから私は使っていません。

すべてが/share/docker/(とZFS)にあるので、docker環境全体のスナップショットがとても簡単に取れます。

はい、share/Container 内のデータは役に立ちません。それは、単にあなたのフォルダの共有ではなく、CS が使用するファイルフォーマットと呼べるものです。

container-station/docker/volumes ディレクトリは見つけましたが、私のアプリのうち一つはそこにあるものの、SimpleHelp はありません。他にどこにあるか心当たりはありますか?

では、少し戻りましょう。

どのようにしてCSを使ってコンテナを作成しましたか?
もし最初からアプリケーションで始めていれば、こんなに苦労していなかったと思うのですが、コンテナタブの「+ 作成」ボタンを使いましたか?

Explore を使用しました:

その後、SimpleHelp を検索しました:

そして、その時点で見つけることができた最新のものを選びました。それ以来アップデートがあり、基本的にファイルを置き換えるためにファイルシステムへのアクセスが必要です。

OK。ファイルを見つけたと思います。では、そのディレクトリをもっと簡単にアクセスできる別の場所に移動するにはどうすればいいですか?

おいおい、CS/dockerはzfs上で色々隠してるな。

さて、現在のコンテナを実行しながらこれを試してみてください。

まずは、SimpleHelpの別のコピーを「アプリケーション」として起動してください。
これで compose.yaml を使えるようになります。一時的に別のポートを選択する必要があります。ストレージのバインドマウントを必ず行ってください。

    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /share/something/somewhere/simpleHelp/config:/opt/SimpleHelp/configuration

/share/something/somewhere/simpleHelp/config を見てください。SimpleHelpは何かファイルを配置しましたか?

/opt/SimpleHelp/configuration/
drwxr-xr-x   16 root     root            18 Sep 29 21:52 .
drwxr-xr-x    9 root     root            19 Sep 29 22:21 ..
drwxr-xr-x    2 root     root             3 Sep 29 21:52 alertsdb
drwxr-xr-x    3 root     root             3 Sep 29 21:52 backups
drwxr-xr-x    2 root     root             2 Sep 29 21:52 branding
drwxr-xr-x    3 root     root             4 Sep 29 21:52 history
drwxr-xr-x    5 root     root             6 Jun  2  2020 html
drwxr-xr-x    2 root     root             2 Sep 29 21:52 notifications
drwxr-xr-x    2 root     root             2 Sep 29 21:52 recordings
drwxr-xr-x    2 root     root             2 Sep 29 21:52 remotework
drwxr-xr-x    2 root     root             2 Sep 29 21:52 secmsg
-rw-r--r--    1 root     root          2284 Sep 29 21:52 serverconfig.xml
-rw-r--r--    1 root     root            86 Sep 29 21:52 simplehelpdisclaimer.txt
drwxr-xr-x    2 root     root             7 Sep 29 22:21 sslconfig
drwxr-xr-x    2 root     root             2 Sep 29 21:52 techprefs
drwxr-xr-x    2 root     root             3 Jun  2  2020 templates
drwxr-xr-x    2 root     root             2 Sep 29 21:52 toolbox
drwxr-xr-x    2 root     root             3 Jun  2  2020 translations

新しいコンテナを停止してください。

古いコンテナを実行したまま、NASにsshで入り、以下を実行します。

stat /share/ZFS*DATA/.qpkg/container-station/docker/zfs/graph/*/opt/SimpleHelp/configuration/simplehelpdisclaimer.txt

自分の場合は530のデータセットにありました。

  File: '/share/ZFS530_DATA/.qpkg/container-station/docker/zfs/graph/b408809b4fa4d0eaf26237d3accb4052d75f57c95895848036a52d129b870323/opt/SimpleHelp/configuration/simplehelpdisclaimer.txt'
  Size: 86              Blocks: 9          IO Block: 512    regular file
Device: b7h/183d        Inode: 8211        Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2025-09-29 21:53:02.788096554 -0400
Modify: 2025-09-29 21:52:46.781974390 -0400
Change: 2025-09-29 21:52:46.781974390 -0400

稼働中のコンテナの内容を新しいコンテナのconfigディレクトリにミラーします。

/usr/bin/rsync -avpX --delete-before /share/ZFS530_DATA/.qpkg/container-station/docker/zfs/graph/b408809b4fa4d0eaf26237d3accb4052d75f57c95895848036a52d129b870323/opt/SimpleHelp/configuration/ /share/something/somewhere/simpleHelp/config/


古いコンテナを停止し、新しいコンテナのポートを調整(アプリケーションは必ず「再作成」で調整)、新しいコンテナを起動してください。

幸運を祈ります。

もう一つあります。
最新のパッケージはこの人からです。

どこからともなくソフトウェアをコピーしています

「5年前の」パッケージ


ビルド時にwget rawでSHウェブサイトから直接ソフトウェアを取得します。
そして最終的なイメージはより小さくなります。

私は元々、上記であなたが示したalhazarパッケージからパッケージを入手しました。

アプリケーションとしてどのようにセットアップするのか、正直なところよく分かっていません。ここが私が非常に無知な部分です。また、bind mountストレージについてあなたが言っていることもよく分かりません。

volumes:
      - /etc/localtime:/etc/localtime:ro
      - /share/something/somewhere/simpleHelp/config:/opt/SimpleHelp/configuration

/etc/localtimeとは何ですか?これが理解できません。

SimpleHelpディレクトリはここにあります:

/share/ZFS2_DATA/.qpkg/container-station/docker/zfs/graph/ae6c730f350f0edc71392752f1d67c9874b3dda9903540c21a75c0e7a6e4a1ce/opt/SimpleHelp

configにはいろいろ入っています:

[/share/ZFS2_DATA/.qpkg/container-station/docker/zfs/graph/ae6c730f350f0edc71392752f1d67c9874b3dda9903540c21a75c0e7a6e4a1ce/opt/SimpleHelp] # ls -la configuration
total 1775
drwxrwxr-x 22 Jono 1000      30 2025-09-04 19:38 .
drwxr-xr-x 10 Jono 1000      16 2025-04-10 09:03 ..
drwxr-xr-x  2 Jono 1000       3 2025-09-30 08:27 accessdb
drwxr-xr-x  2 Jono 1000       3 2025-04-10 08:33 alertsdb
drwxr-xr-x  4 Jono 1000       4 2025-04-10 19:33 backups
drwxr-xr-x  2 Jono 1000       7 2025-04-10 21:44 branding
-rw-r--r--  1 Jono 1000      30 2025-05-26 10:47 config.configurable
drwxr-xr-x  4 Jono 1000       5 2025-04-11 10:06 history
-rw-r--r--  1 Jono 1000    1934 2025-05-10 00:30 hostkey.ser
drwxrwxr-x  5 Jono 1000       6 2025-03-12 12:52 html
drwxr-xr-x  2 Jono 1000       2 2025-04-26 08:51 invitations
-rw-r--r--  1 Jono 1000 1555470 2025-04-18 13:26 lastbackup.dat
-rw-r--r--  1 Jono 1000      19 2025-08-30 19:38 latestversion
drwxr-xr-x  2 Jono 1000       3 2025-09-28 19:25 notifications
drwxr-xr-x  2 Jono 1000       3 2025-04-10 09:04 peers
drwxr-xr-x  2 Jono 1000       2 2025-04-10 08:33 recordings
drwxr-xr-x  2 Jono 1000       2 2025-04-10 08:33 remotework
drwxr-xr-x  2 Jono 1000      14 2025-09-30 06:17 secmsg
-rw-r--r--  1 Jono 1000    6531 2025-09-04 19:38 serverconfig.xml
-rw-r--r--  1 Jono 1000    1572 2025-04-10 08:35 serverkeys.dat
-rw-r--r--  1 Jono 1000    2646 2025-04-10 09:02 shlicense.txt
-rw-r--r--  1 Jono 1000     357 2025-09-04 19:38 simplehelpdisclaimer.txt
drwxr-xr-x  2 Jono 1000       2 2025-04-10 08:36 simulations
drwxr-xr-x  2 Jono 1000      10 2025-09-25 16:25 sslconfig
drwxr-xr-x  3 Jono 1000       3 2025-04-10 22:24 technicians
drwxr-xr-x  2 Jono 1000       5 2025-09-29 18:26 techprefs
drwxrwxr-x  2 Jono 1000       3 2025-03-12 12:52 templates
drwxr-xr-x  2 Jono 1000       3 2025-04-10 22:19 toolbox
drwxr-xr-x  2 Jono 1000       2 2025-04-10 08:33 toolbox-resources
drwxrwxr-x  2 Jono 1000       3 2025-03-12 12:52 translations

どこで迷っているかというと、新しいアプリケーションとしてセットアップする部分です。以前、アプリケーションを別の場所に保存するようにYAMLスクリプトを修正しようとしましたが、うまく動作させることができませんでした。

試してみてください:

services:
  simplehelp:
    image: tecneo/simplehelp:latest
    container_name: simplehelpnew
    ports:
      - "8680:80"
      - "8681:80/udp"
      - "8643:443"
      - "8643:443/udp"
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /share/stuffz/simpleHelp/config:/opt/SimpleHelp/configuration
    restart: always

やった!あなたは天才ですね、友よ!お好きなバーチャルな大人の飲み物をお送りします! :smiley:

まさに私が求めていたことをしてくれそうです。

まず @dolbyman へ——このDocker/CSに関する私の質問部分を新しいスレッドに分割してもらえますか? 元のトピックから大きく逸れてしまっています。

さて、上記の方法が私にはうまくいかない理由がいくつかあります。

1.) これはサーバーの設定部分しかリモートで配置できず、サーバーソフトウェアをアップグレードするためにはSimpleHelpディレクトリ全体にアクセスする必要があります。

2.) うまく動作しません。正確には一応動きますが、ログインしようとすると、まず管理者アカウントのパスワードを認識せず、さらに自分のアカウントでログインしようとするとエラーが出ます。これは、元々稼働していたコンテナから設定フォルダのバックアップをコピーした後のことです。何かが正しく読み込まれていないようです。

そのため、上記のYAMLの代わりに私は次のものを使いました:


services:
  simplehelp:
    image: tecneo/simplehelp:latest
    container_name: simplehelpnew
    ports:
      - "80:80"
      - "80:80/udp"
      - "443:443"
      - "443:443/udp"
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /share/Container/SimpleHelp:/opt/SimpleHelp
    restart: always

これは以前試したものと非常に似ています。しかし、まずインストールプロセスで /share/Container/SimpleHelp フォルダに何もインストールされませんでした。そしてSimpleHelpウェブサイトからサーバーパッケージをダウンロードしてコピーしましたが、コンテナを起動しようとすると次のエラーが出ます:

sh: 0: Can't open serverstart.sh

サーバーを起動しようとするたびにこのエラーが繰り返されます。/share/Container/SimpleHelp ディレクトリには chmod -r 777 をかけましたが、それでも変化はありません。

なので、まだ行き詰まっています。

ですが、CSについて興味深いことを学びました…

プログラムディレクトリのパスを見つけたんですよね:

/share/ZFS2_DATA/.qpkg/container-station/docker/zfs/graph/ae6c730f350f0edc71392752f1d67c9874b3dda9903540c21a75c0e7a6e4a1ce/opt/SimpleHelp

ところが、コンテナを停止すると、そのパスが消えるんです! つまり

/share/ZFS2_DATA/.qpkg/container-station/docker/zfs/graph/

は残っていますが、それ以降の部分がすべて消えてしまいます。コンテナを再起動するとまた戻ってきます。

このことが、指定した場所でサーバーを起動できない原因と関係しているのではないかと疑っています。よく分かりません。またしても行き詰まりです。あと一歩なのに、なかなかうまくいきません…

完了

はい、それがdockerの仕組みです。
その場合はアプリケーション → 再作成となります。tecneo/simplehelpイメージでコンテナを作成するたびに、wgetが呼び出され、ビルド時にサーバーがダウンロードされます。

設定データとソフトウェアイメージは分離するのが推奨されています。

バインドマウントはコンテナ起動直前の最後のステップです。そのため、コンテナビルド時には完全な /opt/SimpleHelp があり、その上に空のフォルダをマウントしていることになります。

rsyncの出力でエラーは見ましたか?
SimpleHelp自体にバックアップやリストアの機能はありますか?

そう、アノニマスマウントとかそんなやつだな。
詳しく調べてみると、zfs上で動かしているからdockerが実際にはデータセット(QNAPの「共有」みたいなもの、厳密には違うけど)を作成して、それをgraph/にマウントしている。

ZFSについては自分もすぐには詳しく思い出せないけど、理論上は自分でそのデータセットをマウントして、データを移動するか、/share/CS/SH/と内容をマージすることもできるはず。
ディスク上には全部残っているけど、ただアンマウントされているだけなんだ。

作成時にはエラーは発生しません。recreateを実行すると常に最新のものが取得されるのであれば、それで問題ありません。しかし、SimpleHelpでサインインしようとするとエラーが出続けていました。

SimpleHelpの設定のバックアップはzipファイルとしてダウンロードされます。設定フォルダ全体がダウンロードされます。

クリーンな /share/Container/SimpleHelp/config で始めて、そこに zip を展開しても、以前の設定が読み込まれないということでしょうか?

それはもう SimpleHelp の問題のように思えます。

今回のアップグレードは大規模なものですか? それとも 1.2.3.4 から 1.2.3.7 のような小規模なものですか?

コンテナのログに何か出力されていますか?

これは興味深いですね…私はここでこのパッケージを使ってインストール作業をしていました。あなたはSimpleHelp(シンプルヘルプ)ウェブサイトから最新バージョンを取得するはずだと言っていますが、実際にはそうなっていません。最新は5.5.13ですが、ビルドしたときに出てきたのは5.2.1でした。これが、設定ファイルを読み込む際に問題が発生していた理由かもしれません。どうやらwgetが「取得」できていないようです。

うーん……OK。なぜこれが更新されないのでしょうか。私の問題は、5年前のサーバーパッケージに新しい設定ファイルとクライアントソフトウェアでログインしようとしたことが100%原因でした。Alzahar/Latestに切り替えたところ、バージョン5.5.9になりましたが、最新かつあなたのイメージ内のパッケージによると5.5.13のはずです。

これが私のYAMLコードです:

services:
  simplehelp:
    image: alzahar/simplehelpserver
    container_name: simplehelpserver
    networks:
      qnet-network:
        ipv4_address: 192.168.1.20
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /share/Container/SimpleHelp/configuration:/opt/SimpleHelp/configuration
    restart: always
networks:
  qnet-network:
    driver_opts:
      iface: eth3
    driver: qnet
    ipam:
      driver: qnet
      options:
        iface: eth3
      config:
        - subnet: 192.168.0.0/23
          gateway: 192.168.1.1

なぜ最新のパッケージが取得できないのでしょうか?