sicutdeux@blog:~/blog$cat docker-compose-y-bcrypt.md
docker-compose v2 y los $ del bcrypt
---
slug:
docker-compose-y-bcrypt
title:
docker-compose v2 y los $ del bcrypt
published:
2026-05-05
updated:
2026-05-19
author:
sicutdeux
lang:
es
tags:
[docker, infra]
reading_minutes:
3
---
docker-compose v2 y los $ del bcrypt
Si pasás un hash bcrypt por env_file en docker-compose, los $ te van a explotar en la cara. Compose v2 expande variables ${VAR} dentro de los values del env_file, y como bcrypt empieza con $2b$12$..., el parser cree que $2b es una variable, la busca, no existe, y la reemplaza por string vacío.
Workaround
Doblar los $ a $$ antes de escribir el archivo. En el CI:
echo "ADMIN_PASSWORD_HASH=$(echo "$HASH" | sed 's/\$/\$\$/g')"Compose des-escapa los $$ al cargar. Funciona, pero es un papelón.