Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dockerで起動しようとするとエラーになる。 #1491

Closed
3 tasks
hirasaki1985 opened this issue Nov 26, 2024 · 2 comments
Closed
3 tasks

Dockerで起動しようとするとエラーになる。 #1491

hirasaki1985 opened this issue Nov 26, 2024 · 2 comments
Labels
要議論 実行する前に議論が必要そうなもの

Comments

@hirasaki1985
Copy link

担当者様

以下質問させていただきます。

質問の内容

dockerで本リポジトリを起動したいと思っております。
README.mdに沿って実行したところ以下のようなエラーがでました。

$ docker pull voicevox/voicevox_engine:cpu-ubuntu20.04-latest
$ docker run --rm -p '127.0.0.1:50021:50021' voicevox/voicevox_engine:cpu-ubuntu20.04-latest

...

https://blog.nicovideo.jp/niconews/224589.html
+ exec gosu user /opt/python/bin/python3 ./run.py --voicelib_dir /opt/voicevox_core/ --runtime_dir /opt/onnxruntime/lib --host 0.0.0.0
Warning: cpu_num_threads is set to 0. Setting it to half of the logical cores.
Info: Loading core 0.15.5.
Traceback (most recent call last):
  File "/opt/voicevox_engine/./run.py", line 414, in <module>
    main()
  File "/opt/voicevox_engine/./run.py", line 367, in main
    preset_manager = PresetManager(preset_path)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/voicevox_engine/voicevox_engine/preset/preset_manager.py", line 38, in __init__
    self.preset_path.write_text("[]")
  File "/opt/python/lib/python3.11/pathlib.py", line 1078, in write_text
    with self.open(mode='w', encoding=encoding, errors=errors, newline=newline) as f:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/python/lib/python3.11/pathlib.py", line 1044, in open
    return io.open(self, mode, buffering, encoding, errors, newline)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied: '/opt/voicevox_engine/presets.yaml'

presets.yamlを作成してパスを指定してもエラーが起きて起動できません。

$  $ docker run --rm -p '127.0.0.1:50021:50021' \
  -v $(pwd)/presets.yaml:/opt/voicevox_engine/presets.yaml \
  voicevox/voicevox_engine:latest \
  --preset_path /opt/voicevox_engine/presets.yaml

...

利用規約の詳細は以下をご確認ください。
https://blog.nicovideo.jp/niconews/224589.html
+ exec --preset_path /opt/voicevox_engine/presets.yaml
/entrypoint.sh: line 7: exec: --: invalid option
exec: usage: exec [-cl] [-a name] [command [arguments ...]] [redirection ...]

渡しの開発環境は以下の通りです。

 $ docker -v
Docker version 27.3.1, build ce12230

macOS Sequoia 15.1.1

お時間ある時で良いので、確認よろしくお願いいたします。

VOICEVOXのバージョン

0.?.0

OSの種類/ディストリ/バージョン

  • Windows
  • macOS
  • Linux

その他

@hirasaki1985 hirasaki1985 added the 要議論 実行する前に議論が必要そうなもの label Nov 26, 2024
@Hiroshiba
Copy link
Member

Hiroshiba commented Nov 26, 2024

プリセットファイルへの書き込み権限がないことが原因そうです。
プリセットファイルのパスに書き込み可能な適当な場所を指定すると解決するかもしれません。

プリセットファイルのパスは--preset_pathでも変更可能ですが、VV_PRESET_FILE環境変数でも変更可能です。
例えばdocker runする際に-e VV_PRESET_FILE:/tmp/preset.ymlなどを追加すると一旦迂回できると思います。

@hirasaki1985
Copy link
Author

@Hiroshiba
ご返信ありがとうございます。
以下のコマンドで動作しました!ありがとうございました。

$ docker run --rm -v ./presets.yaml:/opt/voicevox_engine/presets.yaml \
     -p '127.0.0.1:50021:50021' \
     -e VV_PRESET_FILE:/opt/voicevox_engine/presets.yaml \
     voicevox/voicevox_engine:cpu-ubuntu20.04-latest

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
要議論 実行する前に議論が必要そうなもの
Projects
None yet
Development

No branches or pull requests

2 participants