Recentemente resolvi trocar o docker pelo podman para não precisar rodar mais containers com sudo ou root, mas estou enfrentando problemas com permissões.
Estou tentando subir um compose.yml do Navidrome com podman-compose, mas ele fica dando erro de permissão e não sei como resolver. Essa questão de mexer com containers é meio nova pra mim
Estou no Debian 12 Stable, instalei os pacotes
podman podman-compose e podman-docker
E tentei rodar o compose com
podman-compose up -d
vou deixar em anexo os logs do podman, o arquivo compose.yml e como estão as permissões do diretório
Isso se deve a uma camada adicional de segurança do podman: o podman faz com que o os usuários dentro do container, caso “escapem”, tenham permissões correspondentes a contas que não existem fora dele, sendo “inertes” (com exceção do root dentro do container, que tem os privilégios do seu próprio usuário).
O artigo abaixo explica em mais detalhes:
As soluções sugeridas:
- Remover o
user: do arquivo compose, assim ele vai rodar como root dentro do container (que tem as permissões do seu usuário) – relatos de que funciona aqui.
--userns=keep-id, para o usuário que você especificou em user: no .yml tenha também os privilégios do seu usuário.
- Dar a permissão da pasta
data para o usuário “fictício” dentro do container (com podman unshare chown.
Resolvi tentar a função da permissão ao usuário fictício por achar que seria o método mais adequado e funcionou!
Muito obrigado