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

Ubuntu 22.04ベースのDockerイメージを追加する #1495

Merged
merged 9 commits into from
Dec 1, 2024

Conversation

aoirint
Copy link
Member

@aoirint aoirint commented Dec 1, 2024

内容

CIでUbuntu 22.04ベースのイメージをビルドして、Docker Hubにプッシュするようにします。

合わせて、DockerイメージテストCIにUbuntu 22.04ベースのイメージを追加します。

Ubuntu 20.04のサポート期限は2025年4月のため、近いうちにデフォルトのバージョン(cpuタグ、nvidiaタグ、READMEの記載、Dockerfileのデフォルト値)を22.04ベースに切り替えたいです。

現在は以下の5つのイメージがビルドされています。

  • latest or バージョン番号 (cpu-20.04と同等)
  • cpu (cpu-20.04と同等)
  • cpu-20.04
  • nvidia (nvidia-20.04と同等)
  • nvidia-20.04

このプルリクエストにより、以下の7つのイメージがビルドされるようになります。

  • latest or バージョン番号 (cpu-20.04と同等)
  • cpu (cpu-20.04と同等)
  • cpu-20.04
  • cpu-22.04
  • nvidia (nvidia-20.04と同等)
  • nvidia-20.04
  • nvidia-22.04

別のプルリクエストでデフォルトのバージョンを22.04ベースに切り替えようと考えています。

近日中にUbuntu 24.04も別途追加しようと考えています。

同等のイメージは違うタグでもビルドを省略できるようにしたいなと思いました。

TODO

  • 念のため手動で動作確認
    • https://github.com/aoirint/voicevox_engine/releases/tag/0.21.1-aoirint.2
    • docker run --rm -p "127.0.0.1:50021:50021" --name "voicevox_engine" -d aoirint/voicevox_engine:cpu-ubuntu22.04-0.21.1-aoirint.2
    • echo -n "こんにちは、音声合成の世界へようこそ" > text.txt
    • curl -s -X POST "127.0.0.1:50021/audio_query?speaker=1" --get --data-urlencode text@text.txt > query.json
    • curl -s -H "Content-Type: application/json" -X POST -d @query.json "127.0.0.1:50021/synthesis?speaker=1" > audio.wav
    • docker container rm -f "voicevox_engine"
    • 合成結果を聴く

関連 Issue

@aoirint
Copy link
Member Author

aoirint commented Dec 1, 2024

試しにビルドしたリリースのテストが通らず、起動に失敗していそうでした。

$ docker run --rm -p "127.0.0.1:50021:50021" aoirint/voicevox_engine:cpu-ubuntu22.04-0.21.1-aoirint.1
(略)

Traceback (most recent call last):
  File "/opt/voicevox_engine/./run.py", line 414, in <module>
Info: Loading core 0.15.5.
    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'

原因は以下のIssue

と同じで、

の影響でDockerイメージがデフォルトのコマンドで動作しなくなっていたようです。

参照されているプルリクエストの

で解消されることを期待しています(おそらくコンテナ内にUID:GID=1000:1000が所有する/home/user/.local/share/voicevox-engine-dev/preset.yamlが作成される)。

@aoirint aoirint marked this pull request as ready for review December 1, 2024 12:53
@aoirint aoirint requested a review from a team as a code owner December 1, 2024 12:53
@aoirint aoirint requested review from Hiroshiba and removed request for a team December 1, 2024 12:53
@aoirint
Copy link
Member Author

aoirint commented Dec 1, 2024

に追従して、

リリーステストを通過したのでReady for Reviewにしました。

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!!

そろそろ20.04が危ないので嬉しいです!!

おそらくコンテナ内にUID:GID=1000:1000が所有する/home/user/.local/share/voicevox-engine-dev/preset.yamlが作成される)

なんでdockerなのに問題が解消するのか不思議だったんですが、homeディレクトリに向くんですね!!
すっきりしました。

同等のイメージは違うタグでもビルドを省略できるようにしたいなと思いました。

PR見てて全く同じことを思いました!
とりあえずissue建てても良いかも?
(たぶんこの辺りの実装どうなってるか僕より詳しいと思うのでお任せしたみがあります 🙏 )

別のプルリクエストでデフォルトのバージョンを22.04ベースに切り替えようと考えています。

賛成です!
同じビルドに複数のタグを付けられるようになったあとに実装すると段取り良いかも。(ジャストアイデアですが)

近日中にUbuntu 24.04も別途追加しようと考えています。

おー!!ぜひ!!
こちらもissue作るとこまでまず進めても良いかもと思いました!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Docker イメージ ubuntu22 サポート追加
2 participants