diff --git a/README.md b/README.md index 8b0b86c..e8d7be2 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ docker run -d --name reticulum-meshchatx \ --restart unless-stopped \ --security-opt no-new-privileges:true \ -p 127.0.0.1:8000:8000 \ - -v "$(pwd)/meshchat-config:/config" \ + -v meshchatx-config:/config \ ghcr.io/quad4-software/meshchatx:latest ``` @@ -92,12 +92,19 @@ You can substitute `quad4io/meshchatx:latest` for the image if you prefer Docker Default compose file maps: - `127.0.0.1:8000` on host -> container port `8000` -- `./meshchat-config` -> `/config` for persistence +- Docker **named volume** `meshchatx-config` -> `/config` for persistence (works with the image `meshchat` user, UID 1000, without bind-mount permission fixes) -If your local `meshchat-config` permissions block writes, fix ownership: +**Optional: bind mount a host directory instead** + +If you want data under a host path (for example `./meshchat-config`), replace the volume line with `-v "$(pwd)/meshchat-config:/config"` (Compose: change the service `volumes` entry to that bind path). The container runs as **UID 1000**; the host directory must be writable by that uid (typical fix: `sudo chown -R 1000:1000 ./meshchat-config`). If the directory is empty on first run, create it first so Docker does not create it as root-only. + +**Inspect or reset the named volume** ```bash -sudo chown -R 1000:1000 ./meshchat-config +docker volume inspect meshchatx-config +# remove container and delete persisted data (destructive) +docker rm -f reticulum-meshchatx +docker volume rm meshchatx-config ``` ## Install from Release Artifacts diff --git a/lang/README.de.md b/lang/README.de.md index e5c1efa..300b54c 100644 --- a/lang/README.de.md +++ b/lang/README.de.md @@ -82,7 +82,7 @@ docker run -d --name reticulum-meshchatx \ --restart unless-stopped \ --security-opt no-new-privileges:true \ -p 127.0.0.1:8000:8000 \ - -v "$(pwd)/meshchat-config:/config" \ + -v meshchatx-config:/config \ ghcr.io/quad4-software/meshchatx:latest ``` @@ -91,12 +91,18 @@ Sie koennen `quad4io/meshchatx:latest` statt des GHCR-Images verwenden, wenn Sie Standard-Compose-Datei: - `127.0.0.1:8000` auf dem Host -> Container-Port `8000` -- `./meshchat-config` -> `/config` fuer Persistenz +- Docker-Benanntes Volume **`meshchatx-config`** -> **`/config`** fuer Persistenz (passt zum Image-Benutzer **meshchat**, UID 1000, ohne Host-**chown** bei Bind-Mounts) -Bei Berechtigungsproblemen: +**Optional: Host-Verzeichnis einbinden** + +Ersetzen Sie die Volume-Zeile durch `-v "$(pwd)/meshchat-config:/config"` (Compose: `volumes`-Eintrag des Service anpassen). Der Container laeuft als **UID 1000**; das Host-Verzeichnis muss dafuer beschreibbar sein (typisch: `sudo chown -R 1000:1000 ./meshchat-config`). Leeres Verzeichnis vor dem ersten Start anlegen, damit Docker es nicht mit unpassenden Rechten erzeugt. + +**Named Volume pruefen oder loeschen** ```bash -sudo chown -R 1000:1000 ./meshchat-config +docker volume inspect meshchatx-config +docker rm -f reticulum-meshchatx +docker volume rm meshchatx-config ``` ## Installation aus Release-Artefakten diff --git a/lang/README.it.md b/lang/README.it.md index 6c17a06..4cd371d 100644 --- a/lang/README.it.md +++ b/lang/README.it.md @@ -82,7 +82,7 @@ docker run -d --name reticulum-meshchatx \ --restart unless-stopped \ --security-opt no-new-privileges:true \ -p 127.0.0.1:8000:8000 \ - -v "$(pwd)/meshchat-config:/config" \ + -v meshchatx-config:/config \ ghcr.io/quad4-software/meshchatx:latest ``` @@ -91,12 +91,18 @@ Al posto dell'immagine GHCR puoi usare `quad4io/meshchatx:latest` se preferisci Il file compose predefinito mappa: - `127.0.0.1:8000` sull'host -> porta `8000` del container -- `./meshchat-config` -> `/config` per la persistenza +- Volume Docker nominato **`meshchatx-config`** -> **`/config`** per la persistenza (adatto all'utente **meshchat** dell'immagine, UID 1000, senza `chown` sull'host per i bind mount) -In caso di errori di permessi: +**Opzionale: montare una directory dell'host** + +Sostituisci la riga del volume con `-v "$(pwd)/meshchat-config:/config"` (Compose: modifica la voce `volumes` del servizio). Il container gira come **UID 1000**; la directory sull'host deve essere scrivibile (tipico: `sudo chown -R 1000:1000 ./meshchat-config`). Prima del primo avvio crea una directory vuota; altrimenti Docker potrebbe crearla con permessi errati. + +**Ispezionare o eliminare il volume nominato** ```bash -sudo chown -R 1000:1000 ./meshchat-config +docker volume inspect meshchatx-config +docker rm -f reticulum-meshchatx +docker volume rm meshchatx-config ``` ## Installazione da artefatti di release diff --git a/lang/README.ja.md b/lang/README.ja.md index b3b2b9d..8a388eb 100644 --- a/lang/README.ja.md +++ b/lang/README.ja.md @@ -82,7 +82,7 @@ docker run -d --name reticulum-meshchatx \ --restart unless-stopped \ --security-opt no-new-privileges:true \ -p 127.0.0.1:8000:8000 \ - -v "$(pwd)/meshchat-config:/config" \ + -v meshchatx-config:/config \ ghcr.io/quad4-software/meshchatx:latest ``` @@ -91,12 +91,18 @@ GHCR の代わりに Docker Hub の `quad4io/meshchatx:latest` を使えます デフォルトの compose ファイル: - ホスト `127.0.0.1:8000` -> コンテナポート `8000` -- `./meshchat-config` -> `/config`(永続化) +- Docker の名前付きボリューム **`meshchatx-config`** -> **`/config`**(イメージの **meshchat** ユーザー UID 1000 と整合し、bind mount 用のホスト側 `chown` が不要になりやすい) -権限エラーが発生した場合: +**任意: ホストディレクトリをマウントする** + +ボリューム行を `-v "$(pwd)/meshchat-config:/config"` に置き換えます(Compose ではサービスの `volumes` を変更)。コンテナは **UID 1000** で動きます。ホスト側ディレクトリはその UID で書き込み可能にしてください(例: `sudo chown -R 1000:1000 ./meshchat-config`)。初回起動前に空ディレクトリを作成しておくと、Docker が不適切な権限で作成するのを避けられます。 + +**名前付きボリュームの確認や削除** ```bash -sudo chown -R 1000:1000 ./meshchat-config +docker volume inspect meshchatx-config +docker rm -f reticulum-meshchatx +docker volume rm meshchatx-config ``` ## リリースアーティファクトからのインストール diff --git a/lang/README.ru.md b/lang/README.ru.md index 6bd835c..77735c5 100644 --- a/lang/README.ru.md +++ b/lang/README.ru.md @@ -82,7 +82,7 @@ docker run -d --name reticulum-meshchatx \ --restart unless-stopped \ --security-opt no-new-privileges:true \ -p 127.0.0.1:8000:8000 \ - -v "$(pwd)/meshchat-config:/config" \ + -v meshchatx-config:/config \ ghcr.io/quad4-software/meshchatx:latest ``` @@ -91,12 +91,18 @@ docker run -d --name reticulum-meshchatx \ Compose-файл по умолчанию: - `127.0.0.1:8000` на хосте -> порт `8000` контейнера -- `./meshchat-config` -> `/config` для данных +- Именованный том Docker **`meshchatx-config`** -> **`/config`** для данных (подходит пользователю **meshchat** в образе, UID 1000, без `chown` на хосте для bind mount) -Если возникают ошибки прав доступа: +**По желанию: каталог на хосте** + +Замените строку тома на `-v "$(pwd)/meshchat-config:/config"` (Compose: измените `volumes` у сервиса). Контейнер работает от **UID 1000**; каталог на хосте должен быть доступен на запись (обычно: `sudo chown -R 1000:1000 ./meshchat-config`). Создайте пустой каталог до первого запуска, чтобы Docker не создал его с неподходящими правами. + +**Просмотр или удаление именованного тома** ```bash -sudo chown -R 1000:1000 ./meshchat-config +docker volume inspect meshchatx-config +docker rm -f reticulum-meshchatx +docker volume rm meshchatx-config ``` ## Установка из релизных артефактов diff --git a/lang/README.zh.md b/lang/README.zh.md index cc4eff4..b9f549f 100644 --- a/lang/README.zh.md +++ b/lang/README.zh.md @@ -82,7 +82,7 @@ docker run -d --name reticulum-meshchatx \ --restart unless-stopped \ --security-opt no-new-privileges:true \ -p 127.0.0.1:8000:8000 \ - -v "$(pwd)/meshchat-config:/config" \ + -v meshchatx-config:/config \ ghcr.io/quad4-software/meshchatx:latest ``` @@ -91,12 +91,18 @@ docker run -d --name reticulum-meshchatx \ 默认 compose 文件映射: - 主机 `127.0.0.1:8000` -> 容器端口 `8000` -- `./meshchat-config` -> `/config` 持久化 +- Docker **命名卷** **`meshchatx-config`** -> **`/config`** 持久化(与镜像内 **meshchat** 用户 UID 1000 一致,通常无需为 bind mount 在宿主机执行 `chown`) -如遇权限问题: +**可选:挂载宿主机目录** + +将卷参数改为 `-v "$(pwd)/meshchat-config:/config"`(Compose 中修改服务的 `volumes`)。容器以 **UID 1000** 运行;宿主机目录需对应该用户可写(常见:`sudo chown -R 1000:1000 ./meshchat-config`)。首次运行前自行创建空目录,可避免 Docker 以不合适权限创建。 + +**查看或删除命名卷** ```bash -sudo chown -R 1000:1000 ./meshchat-config +docker volume inspect meshchatx-config +docker rm -f reticulum-meshchatx +docker volume rm meshchatx-config ``` ## 从发行版安装