Skip to content

[voicevox] Cannot use voicevox with docker #553

@sawada10

Description

@sawada10

@mqcmd196 @iory @k-okada

I want to use Voicevox with docker, but got some error.
I did the following settings in the azure vm with GPU according to this page.

$ sudo docker pull voicevox/voicevox_engine:nvidia-ubuntu24.04-latest
$ sudo docker run --rm --gpus all -p '50021:50021' voicevox/voicevox_engine:nvidia-ubuntu24.04-latest

After that, I launched the roslaunch file, but got error saying "cannot assign requested address", although I can access the address with curl command.

$ curl http://20.243.128.11:50021/docs

    <!DOCTYPE html>
    <html>
    <head>
    <link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui.css">
    <link rel="shortcut icon" href="https://fastapi.tiangolo.com/img/favicon.png">
    <title>VOICEVOX Engine - Swagger UI</title>
    </head>
    <body>
    <div id="swagger-ui">
    </div>
    <script src="https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui-bundle.js"></script>
    <!-- `SwaggerUIBundle` is now available on the page -->
    <script>
    const ui = SwaggerUIBundle({
        url: '/openapi.json',
    "dom_id": "#swagger-ui",
"layout": "BaseLayout",
"deepLinking": true,
"showExtensions": true,
"showCommonExtensions": true,
oauth2RedirectUrl: window.location.origin + '/docs/oauth2-redirect',
    presets: [
        SwaggerUIBundle.presets.apis,
        SwaggerUIBundle.SwaggerUIStandalonePreset
        ],
    })
    </script>
    </body>
    </html>
$ roslaunch voicevox voicevox_texttospeech.launch use_docker:=true host:="20.243.128.11"
... logging to /home/leus/.ros/log/cd42f5a2-8bde-11f0-bb34-d943eddde7a2/roslaunch-leus-ThinkPad-T480s-20873.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
WARNING: disk usage in log directory [/home/leus/.ros/log] is over 1GB.
It's recommended that you use the 'rosclean' command.

started roslaunch server http://leus-ThinkPad-T480s:40337/

SUMMARY
========

PARAMETERS
 * /rosdistro: noetic
 * /rosversion: 1.16.0

NODES
  /
    sound_play_jp (sound_play/soundplay_node.py)
    voicevox_server (voicevox/run-voicevox)

auto-starting new master
process[master]: started with pid [20888]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to cd42f5a2-8bde-11f0-bb34-d943eddde7a2
process[rosout-1]: started with pid [20905]
started core service [/rosout]
process[voicevox_server-2]: started with pid [20912]
process[sound_play_jp-3]: started with pid [20915]
/opt/ros/noetic/lib/sound_play/soundplay_node.py:330: PyGIDeprecationWarning: Since version 3.11, calling threads_init is no longer needed. See: https://wiki.gnome.org/PyGObject/Threading
  GObject.threads_init()
/opt/ros/noetic/lib/sound_play/soundplay_node.py:331: PyGIDeprecationWarning: GObject.MainLoop is deprecated; use GLib.MainLoop instead
  self.g_loop = threading.Thread(target=GObject.MainLoop().run)
[INFO] [1757244951.874671]: Loading from plugin definitions
[INFO] [1757244952.380327]: sound_play node is ready to play sound
INFO:     Started server process [20912]
INFO:     Waiting for application startup.
reading /home/leus/.local/share/voicevox-engine-dev/tmp0i9262rr ... 73
emitting double-array: 100% |###########################################| 

done!
INFO:     Application startup complete.
ERROR:    [Errno 99] error while attempting to bind on address ('20.243.128.11', 50021): cannot assign requested address
INFO:     Waiting for application shutdown.
INFO:     Application shutdown complete.
[voicevox_server-2] process has died [pid 20912, exit code 1, cmd /home/leus/kashiwagi_ws/devel/share/voicevox/bin/run-voicevox --voicelib_dir=/home/leus/kashiwagi_ws/devel/share/voicevox/voicevox_core --host 20.243.128.11 --port 50021 --cpu_num_threads=1 --load_all_models -- __name:=voicevox_server __log:=/home/leus/.ros/log/cd42f5a2-8bde-11f0-bb34-d943eddde7a2/voicevox_server-2.log].
log file: /home/leus/.ros/log/cd42f5a2-8bde-11f0-bb34-d943edd

Previously, it worked fine when running on @mqcmd196 's VM IP address, so it might be an issue with my own VM settings.
I'd appreciate any advice on how to resolve this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions