Есть у нас такая тулза tyrrrz/discordchatexporter (но я думаю, от тулзы не зависит совсем, потому что проблема возникает на другом уровне)... Занимается тулза экспортом дискорд-канала в HTML/JSON итп.
На самом деле не так важно, чем она занимается, потому что проблема, судя по всему, опять же на стороне докера.
Итак, в чем подвох:
Запускаю тулзу так:
arris@blacktower:~$ docker run --rm --user 1000:1000 -v /home/arris/out/:/app/out/ tyrrrz/discordchatexporter:latest export <параметры>
Если каталог /home/arris/out/ (или любой другой) существует и права на него у пользователя 1000:1000 - то всё зашибись, экспорт работает без ошибок, на файлах правильные права и вообще все довольны.
А вот если целевой каталог
НЕ СУЩЕСТВУЕТ - докер (?) его радостно создает, а потом экспорт падает с Permission Denied. Потому что, внезапно,
arris@blacktower:~$ ls -la /home/arris/out/
total 8
drwxr-xr-x 2 root root 4096 Feb 6 21:46 .
drwxr-xr-x 9 arris arris 4096 Feb 6 21:46 ..
P.S. А если опустить --user 1000:1000 - то все прекрасно создается, экспортируется, но результат экспорта - все файлы принадлежит руту. Что тоже не то, что хочется.
ЧЯДНТ или как убедить докер создавать каталоги с правильными правами?
P.S. Разработчик тулзы тоже не настоящий сварщик и тоже ответа не знает.
P.P.S.
arris@blacktower:~$ id arris
uid=1000(arris) gid=1000(arris) groups=1000(arris), ...