007-build-nginx.sh 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. . mailcow.conf
  3. NAME="nginx-mailcow"
  4. echo "Stopping and removing containers with name tag ${NAME}..."
  5. if [[ ! -z $(docker ps -af "name=${NAME}" -q) ]]; then
  6. docker stop $(docker ps -af "name=${NAME}" -q)
  7. docker rm $(docker ps -af "name=${NAME}" -q)
  8. fi
  9. if [[ ! -z "$(docker images -q nginx:${NGINXVERS})" ]]; then
  10. read -r -p "Found image locally. Delete local image and repull? [y/N] " response
  11. response=${response,,} # tolower
  12. if [[ $response =~ ^(yes|y)$ ]]; then
  13. docker rmi nginx:${NGINXVERS}
  14. fi
  15. fi
  16. sed -i "s#database_name.*#database_name = \"${DBNAME}\";#" data/web/inc/vars.inc.php
  17. sed -i "s#database_user.*#database_user = \"${DBUSER}\";#" data/web/inc/vars.inc.php
  18. sed -i "s#database_pass.*#database_pass = \"${DBPASS}\";#" data/web/inc/vars.inc.php
  19. docker run \
  20. -p 443:443 \
  21. --expose 8081 \
  22. --name ${NAME} \
  23. -v ${PWD}/data/web:/web:ro \
  24. -v ${PWD}/data/conf/rspamd/dynmaps:/dynmaps:ro \
  25. -v ${PWD}/data/assets/ssl/:/etc/ssl/mail/:ro \
  26. -v ${PWD}/data/conf/nginx/:/etc/nginx/conf.d/:ro \
  27. --network=${DOCKER_NETWORK} \
  28. -h nginx \
  29. --network-alias=nginx \
  30. -d nginx:${NGINXVERS}
  31. echo "Installaing SOGo web resource files..."
  32. docker exec -it ${NAME} /bin/bash -c 'apt-key adv --keyserver keys.gnupg.net --recv-key 0x810273C4 && apt-get update && apt-get -y --force-yes install apt-transport-https'
  33. docker exec -it ${NAME} /bin/bash -c 'echo "deb http://packages.inverse.ca/SOGo/nightly/3/debian/ jessie jessie" > /etc/apt/sources.list.d/sogo.list && apt-get update && apt-get -y --force-yes install sogo'
  34. /bin/bash ./fix-permissions.sh