Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

68 lines
1.8KB

  1. #!/bin/bash
  2. STACK_NAME=$1
  3. if [ $# -eq 0 ]; then
  4. echo "You must pass stack name as a parameter"
  5. exit 1
  6. fi
  7. # Delete previous running stack
  8. docker stack rm ${STACK_NAME}
  9. # Build images
  10. docker-compose build
  11. docker push bingen/rpi-openldap
  12. docker push bingen/rpi-mariadb
  13. docker push bingen/rpi-haproxy
  14. docker push bingen/rpi-mailserver
  15. docker push bingen/rpi-nextcloud
  16. # Deploy Stack
  17. # seen here: https://github.com/docker/docker/issues/29133#issuecomment-278198683
  18. env $(cat .env | grep "^[A-Z]" | xargs) \
  19. docker stack deploy --compose-file docker-compose.yml ${STACK_NAME}
  20. echo Wait for services to start
  21. sleep 60
  22. # ##### Add users to LDAP ###### #
  23. host=$(docker stack ps ${STACK_NAME} | grep Running | grep openldap | awk '{ print $4 }')
  24. #echo Host=$host
  25. if [ -z $host ]; then
  26. echo "No host found!";
  27. exit 1;
  28. fi
  29. container=$(ssh $host 'docker ps | grep openldap | cut -f1 -d" "')
  30. #echo Container=$container
  31. if [ -z $container ]; then
  32. echo "Qué me estás container?!";
  33. exit 1;
  34. fi
  35. # read variables, for mail data path
  36. . .env
  37. # Replace Mail data path for users
  38. find images/rpi-openldap/users -type f -exec \
  39. sed -i "s/\${MAIL_DATA_PATH}/${MAIL_DATA_PATH//\//\\/}/g" {} \;
  40. echo Copying user files to Host $host
  41. scp -r images/rpi-openldap/users $host:/tmp/
  42. echo Copying user files to Container $container in Host $host
  43. ssh $host "docker cp /tmp/users $container:/tmp/"
  44. echo Adding users to openldap
  45. ssh $host \
  46. "for i in \$(ls /tmp/users/userimport*.ldif); do \
  47. ls \$i;
  48. docker exec ${container} sh -c \
  49. 'slapadd -l '\$i; \
  50. done;"
  51. #'ldapadd -w \$(cat \${LDAP_ADMIN_PWD_FILE}) -D cn=admin,dc=\${LDAP_ORGANIZATION},dc=\${LDAP_EXTENSION} -f '\$i; \
  52. echo Removing copied user files
  53. ssh $host "docker exec ${container} sh -c 'rm -Rf /tmp/users'"
  54. ssh $host "rm -Rf /tmp/users"