Advertisement
Guest User

Untitled

a guest
Apr 10th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. #!/bin/bash
  2. set -e
  3. cmd="$@"
  4.  
  5. export REDIS_URL=redis://redis:6379
  6.  
  7. # the official postgres image uses 'postgres' as default user if not set explictly.
  8. if [ -z "$POSTGRES_USER" ]; then
  9. export POSTGRES_USER=postgres
  10. fi
  11.  
  12. export DATABASE_URL=postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@postgres:5432/$POSTGRES_USER
  13.  
  14.  
  15. function postgres_ready(){
  16. node << END
  17. var postgres = require("pg");
  18. var client = new postgres.Client({
  19. user: '$POSTGRES_USER',
  20. password: '$POSTGRES_PASSWORD',
  21. database: '$POSTGRES_USER',
  22. port: 5432,
  23. host: 'postgres',
  24. });
  25.  
  26. client.connect(function(err) {
  27. if (err) {
  28. console.log('connection failed');
  29. console.error(err);
  30. process.exit(1);
  31. }
  32.  
  33. console.log('connection successful');
  34. process.exit(0);
  35. });
  36. END
  37. }
  38.  
  39. until postgres_ready; do
  40. >&2 echo "Postgres is unavailable - sleeping"
  41. sleep 1
  42. done
  43.  
  44. >&2 echo "Postgres is up - continuing..."
  45. exec $cmd
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement