Você não precisa expor a porta 3306.
Seu
setup.sh
cria um usuário diferente daquele ao qual concede concessões. Os contêineres não são bons para executar serviços. Há um bom caso para usar as imagens oficiais.
version: '3'
services:
mariadb:
image: mariadb:10.5.11
volumes:
- ~/data/maria:/var/lib/mysql
restart: always
environment:
MARIADB_USER: "${MARIA_LOGIN}"
MARIADB_PASSWORD: "${MARIA_PASS}"
MARIADB_DATABASE: wordpress
No entanto, não receba tantos erros/aprendendo coisas :-)
Do seu repositório, parece que você resolveu o resto também (inclua o wordpress que é uma imagem oficial).