AlexeyBond / Irene-Voice-Assistant

Ирина - русский голосовой ассистент для работы оффлайн. Поддерживает скиллы через плагины.
Other
7 stars 0 forks source link

при старте PermissionError: [Errno 13] Permission denied: '/irene/config' #1

Closed Wami closed 9 months ago

Wami commented 9 months ago

ubuntu 22.04 server

docker run --rm -it --publish 8086:8086 -v "$HOME/irene:/irene"   alexeybond/irene:latestTraceback (most recent call last):
  File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/python/irene/__main__.py", line 15, in <module>
    launch_application(
  File "/home/python/irene/plugin_loader/launcher.py", line 142, in launch_application
    call_all(pm.get_operation_sequence('bootstrap'), pm)
  File "/home/python/irene/plugin_loader/run_operation.py", line 30, in call_all
    step.step(*args, **kwargs)
  File "/home/python/irene/plugin_loader/core_plugins/config.py", line 423, in bootstrap
    self._init_config_scope(step)
  File "/home/python/irene/plugin_loader/core_plugins/config.py", line 365, in _init_config_scope
    main_file_path = self._get_config_file(config_step.plugin.name)
  File "/home/python/irene/plugin_loader/core_plugins/config.py", line 337, in _get_config_file
    self._ensure_config_dir()
  File "/home/python/irene/plugin_loader/core_plugins/config.py", line 281, in _ensure_config_dir
    self._config_dir.mkdir(exist_ok=True, parents=True)
  File "/usr/local/lib/python3.9/pathlib.py", line 1323, in mkdir
    self._accessor.mkdir(self, mode)
PermissionError: [Errno 13] Permission denied: '/irene/config'
ls -al
drwxr-xr-x  2 root root 4096 Nov 26 14:09 irene

Мне на скорую руку помогло sudo chmod 777 -R ./irene

AlexeyBond commented 9 months ago

У меня были не правильно настроены оповещения, так что заметил эту issue только когда сам вспомнил, что нужно бы исправить этот баг.

Образ был собран так, что процесс запускался от пользователя с номером 1001 и не мог работать при запуске от других пользователей т.к. питоновские библиотеки были установлены только для этого пользователя и доступ к файлу сертификата для SSL был только у него же. В 0.9.1 поменял dockerfile так, чтобы образ можно было запускать от любого пользователя, плюс добавил инструкцию по запуску контейнера от имени текущего пользователя, так, что бы он мог работать с папкой данных, принадлежащей текущему пользователю.