Merge branch 'migrate-docker-compose-version' into 'master'

Migrate docker compose version

See merge request rogs/yams!15
This commit is contained in:
Roger Gonzalez 2024-01-13 00:43:15 +00:00
commit bea1483c49
5 changed files with 47 additions and 26 deletions

View File

@ -49,8 +49,8 @@ In no particular order:
:ID: 01577a0a-852e-481a-b9b3-791b68594f96 :ID: 01577a0a-852e-481a-b9b3-791b68594f96
:END: :END:
You need to have: You need to have:
- [[https://www.docker.com/][docker]] - [[https://www.docker.com/][Docker]]
- [[https://docs.docker.com/compose/][docker-compose]] - [[https://docs.docker.com/compose/][Docker Compose]]
If you haven't installed them, don't worry! The script will attempt to run both installations (it only If you haven't installed them, don't worry! The script will attempt to run both installations (it only
works in Debian and Ubuntu!) works in Debian and Ubuntu!)

View File

@ -18,11 +18,8 @@ echo \
sudo apt update sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo usermod -aG docker $USER sudo usermod -aG docker $USER
sudo curl -L https://github.com/docker/compose/releases/download/v2.15.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo su $USER --session-command "bash install.sh" sudo su $USER --session-command "bash install.sh"

View File

@ -106,22 +106,35 @@ send_error_message() {
:ID: e7d01eeb-c7ef-42ff-b60d-010be30bc6a8 :ID: e7d01eeb-c7ef-42ff-b60d-010be30bc6a8
:END: :END:
This function verifies that the dependencies are installed. ~Docker~ and ~docker-compose~ are required This function verifies that the dependencies are installed. ~Docker~ and ~Docker Compose~ are required
for YAMS to work. for YAMS to work.
#+begin_src bash #+begin_src bash
check_dependencides() { check_dependencies() {
if command -v "$1" &> /dev/null; then if command -v docker &> /dev/null; then
send_success_message "$1 exists ✅ " send_success_message "docker exists ✅ "
if docker compose version &> /dev/null; then
send_success_message "docker compose exists ✅ "
else
echo -e $(printf "\e[31m ⚠️ docker compose not found! ⚠️\e[0m")
read -p "Do you want YAMS to install Docker Compose? IT ONLY WORKS ON DEBIAN AND UBUNTU! [y/N]: " install_docker
install_docker=${install_docker:-"n"}
if [ "$install_docker" == "y" ]; then
bash ./docker.sh
else
send_error_message "Install Docker Compose and come back later!"
fi
fi
else else
echo -e $(printf "\e[31m ⚠️ $1 not found! ⚠️\e[0m") echo -e $(printf "\e[31m ⚠️ docker not found! ⚠️\e[0m")
read -p "Do you want YAMS to install docker and docker-compose? IT ONLY WORKS ON DEBIAN AND UBUNTU! [y/N]: " install_docker read -p "Do you want YAMS to install Docker and Docker Compose? IT ONLY WORKS ON DEBIAN AND UBUNTU! [y/N]: " install_docker
install_docker=${install_docker:-"n"} install_docker=${install_docker:-"n"}
if [ "$install_docker" == "y" ]; then if [ "$install_docker" == "y" ]; then
bash ./docker.sh bash ./docker.sh
else else
send_error_message "Install docker and docker-compose and come back later!" send_error_message "Install Docker and Docker Compose and come back later!"
fi fi
fi fi
} }
@ -169,8 +182,7 @@ running_services_location() {
echo "Checking prerequisites..." echo "Checking prerequisites..."
check_dependencides "docker" check_dependencies
check_dependencides "docker-compose"
if [[ "$EUID" = 0 ]]; then if [[ "$EUID" = 0 ]]; then
send_error_message "YAMS has to run without sudo! Please, run it again with regular permissions" send_error_message "YAMS has to run without sudo! Please, run it again with regular permissions"
@ -422,7 +434,7 @@ send_success_message "Everything installed correctly! 🎉"
echo "Running the server..." echo "Running the server..."
echo "This is going to take a while..." echo "This is going to take a while..."
docker-compose -f "$filename" up -d docker compose -f "$filename" up -d
#+end_src #+end_src
* Final steps * Final steps
:PROPERTIES: :PROPERTIES:

View File

@ -32,18 +32,31 @@ send_error_message() {
exit 255 exit 255
} }
check_dependencides() { check_dependencies() {
if command -v "$1" &> /dev/null; then if command -v docker &> /dev/null; then
send_success_message "$1 exists ✅ " send_success_message "docker exists ✅ "
if docker compose version &> /dev/null; then
send_success_message "docker compose exists ✅ "
else
echo -e $(printf "\e[31m ⚠️ docker compose not found! ⚠️\e[0m")
read -p "Do you want YAMS to install Docker Compose? IT ONLY WORKS ON DEBIAN AND UBUNTU! [y/N]: " install_docker
install_docker=${install_docker:-"n"}
if [ "$install_docker" == "y" ]; then
bash ./docker.sh
else
send_error_message "Install Docker Compose and come back later!"
fi
fi
else else
echo -e $(printf "\e[31m ⚠️ $1 not found! ⚠️\e[0m") echo -e $(printf "\e[31m ⚠️ docker not found! ⚠️\e[0m")
read -p "Do you want YAMS to install docker and docker-compose? IT ONLY WORKS ON DEBIAN AND UBUNTU! [y/N]: " install_docker read -p "Do you want YAMS to install Docker and Docker Compose? IT ONLY WORKS ON DEBIAN AND UBUNTU! [y/N]: " install_docker
install_docker=${install_docker:-"n"} install_docker=${install_docker:-"n"}
if [ "$install_docker" == "y" ]; then if [ "$install_docker" == "y" ]; then
bash ./docker.sh bash ./docker.sh
else else
send_error_message "Install docker and docker-compose and come back later!" send_error_message "Install Docker and Docker Compose and come back later!"
fi fi
fi fi
} }
@ -74,8 +87,7 @@ running_services_location() {
echo "Checking prerequisites..." echo "Checking prerequisites..."
check_dependencides "docker" check_dependencies
check_dependencides "docker-compose"
if [[ "$EUID" = 0 ]]; then if [[ "$EUID" = 0 ]]; then
send_error_message "YAMS has to run without sudo! Please, run it again with regular permissions" send_error_message "YAMS has to run without sudo! Please, run it again with regular permissions"
@ -249,7 +261,7 @@ send_success_message "Everything installed correctly! 🎉"
echo "Running the server..." echo "Running the server..."
echo "This is going to take a while..." echo "This is going to take a while..."
docker-compose -f "$filename" up -d docker compose -f "$filename" up -d
echo -e "\nWe need your sudo password to install the YAMS CLI and configure permissions..." echo -e "\nWe need your sudo password to install the YAMS CLI and configure permissions..."

2
yams
View File

@ -2,7 +2,7 @@
set -euo pipefail set -euo pipefail
dc="docker-compose -f <filename> -f <custom_file_filename>" dc="docker compose -f <filename> -f <custom_file_filename>"
install_directory="<install_directory>" install_directory="<install_directory>"
option=${1:-"--help"} option=${1:-"--help"}