#!/bin/sh # Executado pelo entrypoint oficial do Postgres apenas na PRIMEIRA inicialização # do volume (pasta de dados vazia). Cria o usuário da aplicação, sem privilégios # de superusuário. As permissões nas tabelas são concedidas pela migration inicial. # # Este arquivo é "sourced" pelo entrypoint quando não é executável, por isso # não usa `set -e` nem `exit`. APP_PASSWORD="$(cat /run/secrets/pg_app_password)" psql -v ON_ERROR_STOP=1 \ --username "$POSTGRES_USER" \ --dbname "$POSTGRES_DB" \ --set app_password="$APP_PASSWORD" <<'EOSQL' CREATE ROLE botpontos_app LOGIN PASSWORD :'app_password'; GRANT CONNECT ON DATABASE botpontos TO botpontos_app; EOSQL unset APP_PASSWORD