install.sh 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #!/bin/bash
  2. set -x
  3. #
  4. # Copyright IBM Corp. All Rights Reserved.
  5. #
  6. # SPDX-License-Identifier: Apache-2.0
  7. #
  8. # Based thie file on https://github.com/docker-library/mongo/blob/master/3.4/Dockerfile &
  9. # https://docs.mongodb.com/manual/tutorial/install-mongodb-enterprise-on-ubuntu/#install-mongodb-enterprise
  10. # ----------------------------------------------------------------
  11. # Install mongo
  12. # ----------------------------------------------------------------
  13. groupadd -r mongodb && useradd -r -g mongodb mongodb
  14. apt-get update \
  15. && apt-get install -y --no-install-recommends ca-certificates jq numactl sudo\
  16. && rm -rf /var/lib/apt/lists/*
  17. # grab gosu for easy step-down from root
  18. export GOSU_VERSION=1.10
  19. set -x \
  20. && apt-get update && apt-get install -y --no-install-recommends wget && rm -rf /var/lib/apt/lists/* \
  21. && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)" \
  22. && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc" \
  23. && export GNUPGHOME="$(mktemp -d)" \
  24. && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
  25. && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \
  26. && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \
  27. && chmod +x /usr/local/bin/gosu \
  28. && gosu nobody true
  29. mkdir /docker-entrypoint-initdb.d
  30. # Add GPG Keys & update apt sources
  31. apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
  32. echo "deb [ arch=amd64,arm64,ppc64el,s390x ] http://repo.mongodb.com/apt/ubuntu xenial/mongodb-enterprise/3.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-enterprise.list
  33. if [ $(dpkg --print-architecture) == "s390x" ]; then
  34. echo "deb [ arch=s390x ] http://deb.debian.org/debian stable main" >> /etc/apt/sources.list
  35. fi
  36. apt-get update
  37. export MONGO_PACKAGE=mongodb-enterprise
  38. # export MONGO_REPO=repo.mongodb.com
  39. # export MONGO_PACKAGE=${MONGO_PACKAGE} MONGO_REPO=${MONGO_REPO}
  40. export MONGO_MAJOR=3.4
  41. export MONGO_VERSION=3.4.9
  42. apt-get install -y \
  43. ${MONGO_PACKAGE}=$MONGO_VERSION \
  44. ${MONGO_PACKAGE}-server=$MONGO_VERSION \
  45. ${MONGO_PACKAGE}-shell=$MONGO_VERSION \
  46. ${MONGO_PACKAGE}-mongos=$MONGO_VERSION \
  47. ${MONGO_PACKAGE}-tools=$MONGO_VERSION
  48. mkdir -p /data/db /data/configdb \
  49. && chown -R mongodb:mongodb /data/db /data/configdb
  50. # ----------------------------------------------------------------
  51. # Install NodeJS
  52. # ----------------------------------------------------------------
  53. NODE_VER=8.9.0
  54. ARCH=`uname -m | sed 's|i686|x86|' | sed 's|x86_64|x64|'`
  55. NODE_PKG=node-v$NODE_VER-linux-$ARCH.tar.gz
  56. SRC_PATH=/tmp/$NODE_PKG
  57. # First remove any prior packages downloaded in case of failure
  58. cd /tmp
  59. rm -f node*.tar.gz
  60. wget --quiet https://nodejs.org/dist/v$NODE_VER/$NODE_PKG
  61. cd /usr/local && sudo tar --strip-components 1 -xzf $SRC_PATH
  62. rm -f /tmp/node*.tar.gz
  63. # ----------------------------------------------------------------
  64. # Install python3 and pip
  65. # ----------------------------------------------------------------
  66. if [[ $ARCH = 'ppc64le' ]];then
  67. apt-get install build-essential libssl-dev libffi-dev python3-dev libxslt-dev python3 -y
  68. else
  69. apt-get install python3 -y
  70. fi
  71. update-alternatives --install /usr/bin/python python /usr/bin/python3 10
  72. cd /tmp
  73. wget https://bootstrap.pypa.io/get-pip.py
  74. python get-pip.py
  75. rm get-pip.py