diff --git a/configuration/amd64/docker-compose.yml b/configuration/amd64/docker-compose.yml index 9e1cda0cd..a2dad081e 100755 --- a/configuration/amd64/docker-compose.yml +++ b/configuration/amd64/docker-compose.yml @@ -23,7 +23,8 @@ services: image: usdotfhwaops/php:${V2XHUB_VERSION:-develop} container_name: php network_mode: host - depends_on: + restart: always + depends_on: - db - v2xhub stdin_open: true diff --git a/configuration/amd64/initialization.sh b/configuration/amd64/initialization.sh index b24b9b4d3..5e3a86328 100755 --- a/configuration/amd64/initialization.sh +++ b/configuration/amd64/initialization.sh @@ -2,20 +2,16 @@ directory=$(pwd) mysqlDir="$directory/mysql" -# update and upgrade commands to update linux OS +# Update and upgrade commands to update linux OS sudo apt update -y && sudo apt upgrade -y -#installing necessary and useful apps -sudo apt-get install chromium-browser -y #Chrome required for CARMA platform/V2X Hub UI(?) -sudo apt install curl -y #Curl for downloading files over internet +# Install necessary and useful apps +sudo apt-get install chromium-browser -y -#install docker -curl -L https://raw.githubusercontent.com/usdot-fhwa-stol/carma-platform/develop/engineering_tools/install-docker.sh | bash - -#make passwords for mysql +# Make passwords for mysql mkdir -p secrets && cd secrets -#creates password files where user inputs password +# Creates password files where user inputs password FILE1=mysql_root_password.txt FILE2=mysql_password.txt if test -f "$FILE1"; then @@ -23,7 +19,7 @@ if test -f "$FILE1"; then else read -p "enter password for the mysql_root_password: " sql_root_pass echo "$sql_root_pass" > sql_root_pass.txt - #remove endline characters from password files + # Remove endline characters from password files tr -d '\n' mysql_root_password.txt && rm sql_root_pass.txt fi @@ -32,25 +28,31 @@ if test -f "$FILE2"; then else read -p "enter password for mysql_password: " sql_pass echo "$sql_pass" > sql_pass.txt - #remove endline characters from password files + # Remove endline characters from password files tr -d '\n' mysql_password.txt && rm sql_pass.txt fi # TODO VH-1303 Allow for version and configuration selection in initialization script -#AMD64 initialzation +# AMD64 initialization cd $directory -sudo apt-get -y remove docker docker-engine docker.io containerd runc -sudo apt-get -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - -sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" -sudo apt-get -y install docker-ce docker-ce-cli containerd.io -sudo apt -y install python3-pip -sudo pip3 install docker-compose -sudo docker-compose pull -sudo apt update -y && sudo apt upgrade -y -sudo docker-compose up -d - -#create v2xhub user +for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done +# Add Docker's official GPG key: +sudo apt-get update +sudo apt-get install ca-certificates curl +sudo install -m 0755 -d /etc/apt/keyrings +sudo curl -fsSL https://download.docker.com/linux/$(. /etc/os-release && echo "$ID")/gpg -o /etc/apt/keyrings/docker.asc +sudo chmod a+r /etc/apt/keyrings/docker.asc + +# Add the repository to Apt sources: +echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/$(. /etc/os-release && echo "$ID") \ + $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +sudo apt-get update +sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin +sudo docker compose up -d + +# Create V2X Hub user cd $mysqlDir ./add_v2xhub_user.bash diff --git a/configuration/arm64/docker-compose.yml b/configuration/arm64/docker-compose.yml index a7ffcce50..23b6e017c 100644 --- a/configuration/arm64/docker-compose.yml +++ b/configuration/arm64/docker-compose.yml @@ -23,7 +23,8 @@ services: image: usdotfhwaops/php_arm:${V2XHUB_VERSION:-develop} container_name: php network_mode: host - depends_on: + restart: always + depends_on: - db - v2xhub stdin_open: true @@ -34,10 +35,12 @@ services: container_name: v2xhub network_mode: host restart: always - depends_on: + depends_on: - db environment: - MYSQL_PASSWORD=/run/secrets/mysql_password + - INFRASTRUCTURE_ID=rsu_ + - INFRASTRUCTURE_NAME= secrets: - mysql_password volumes: diff --git a/configuration/arm64/initialization.sh b/configuration/arm64/initialization.sh index b4da293b7..5894602fd 100755 --- a/configuration/arm64/initialization.sh +++ b/configuration/arm64/initialization.sh @@ -2,20 +2,16 @@ directory=$(pwd) mysqlDir="$directory/mysql" -# update and upgrade commands to update linux OS +# Update and upgrade commands to update linux OS sudo apt update -y && sudo apt upgrade -y -#installing necessary and useful apps -sudo apt-get install chromium-browser -y #Chrome required for CARMA platform/V2X Hub UI(?) -sudo apt install curl -y #Curl for downloading files over internet +# Install necessary and useful apps +sudo apt-get install chromium-browser -y -#install docker -curl -L https://raw.githubusercontent.com/usdot-fhwa-stol/carma-platform/develop/engineering_tools/install-docker.sh | bash - -#make passwords for mysql +# Make passwords for mysql mkdir -p secrets && cd secrets -#creates password files where user inputs password +# Creates password files where user inputs password FILE1=mysql_root_password.txt FILE2=mysql_password.txt if test -f "$FILE1"; then @@ -23,7 +19,7 @@ if test -f "$FILE1"; then else read -p "enter password for the mysql_root_password: " sql_root_pass echo "$sql_root_pass" > sql_root_pass.txt - #remove endline characters from password files + # Remove endline characters from password files tr -d '\n' mysql_root_password.txt && rm sql_root_pass.txt fi @@ -32,26 +28,31 @@ if test -f "$FILE2"; then else read -p "enter password for mysql_password: " sql_pass echo "$sql_pass" > sql_pass.txt - #remove endline characters from password files + # Remove endline characters from password files tr -d '\n' mysql_password.txt && rm sql_pass.txt fi # TODO VH-1303 Allow for version and configuration selection in initialization script -#ARM initialization +# ARM64 initialization cd $directory -sudo apt-get -y remove docker docker-engine docker.io containerd runc -sudo apt-get -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -OS=$(lsb_release -i | awk 'FS=":" {print $3;}' | awk '{print tolower($0)}') -arch=$(dpkg --print-architecture) -curl -fsSL https://download.docker.com/linux/$OS/gpg | sudo apt-key add - -sudo add-apt-repository "deb [arch=$arch] https://download.docker.com/linux/$OS $(lsb_release -cs) stable" -sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin -sudo apt -y install python3-pip -sudo pip3 install docker-compose -sudo apt update -y && sudo apt upgrade -y -sudo docker-compose up -d - -#create v2xhub user +for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done +# Add Docker's official GPG key: +sudo apt-get update +sudo apt-get install ca-certificates curl +sudo install -m 0755 -d /etc/apt/keyrings +sudo curl -fsSL https://download.docker.com/linux/$(. /etc/os-release && echo "$ID")/gpg -o /etc/apt/keyrings/docker.asc +sudo chmod a+r /etc/apt/keyrings/docker.asc + +# Add the repository to Apt sources: +echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/$(. /etc/os-release && echo "$ID") \ + $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +sudo apt-get update +sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin +sudo docker compose up -d + +# Create V2X Hub user cd $mysqlDir ./add_v2xhub_user.bash diff --git a/configuration/arm64/mysql/add_v2xhub_user.bash b/configuration/arm64/mysql/add_v2xhub_user.bash index 1d8bb57c2..5b4b6f314 100755 --- a/configuration/arm64/mysql/add_v2xhub_user.bash +++ b/configuration/arm64/mysql/add_v2xhub_user.bash @@ -7,7 +7,7 @@ arch=$(dpkg --print-architecture) if [ $arch = "amd64" ]; then REQUIRED_PKG="mysql-client" else - REQUIRED_PKG="mariadb-client-10.5" + REQUIRED_PKG="mariadb-client" fi PKG_OK=$(dpkg-query -W --showformat='${Status}\n' $REQUIRED_PKG|grep "install ok installed") echo Checking for $REQUIRED_PKG: $PKG_OK