Skip to content

Instantly share code, notes, and snippets.

@emilas44
Last active November 12, 2024 15:20
Show Gist options
  • Save emilas44/fb4ac8c7f7384a3fe3ac3edab532f49f to your computer and use it in GitHub Desktop.
Save emilas44/fb4ac8c7f7384a3fe3ac3edab532f49f to your computer and use it in GitHub Desktop.
Bash script to install NGINX, PHP, MYSQL, ZSH, GIT, ZIP, SUPERVISOR, COMPOSER
#!/bin/bash
PHP_VERSION=8.3
export OS_USER_PASSWORD="password"
export MYSQL_ROOT_PASSWORD="password"
export MYSQL_USER_PASSWORD="password"
echo "
███████╗███████╗████████╗ ██╗ ██████╗ ██████╗ █████╗ ██╗ ███████╗███████╗
██╔════╝██╔════╝╚══██╔══╝ ██║ ██╔═══██╗██╔════╝██╔══██╗██║ ██╔════╝██╔════╝
███████╗█████╗ ██║█████╗██║ ██║ ██║██║ ███████║██║ █████╗ ███████╗
╚════██║██╔══╝ ██║╚════╝██║ ██║ ██║██║ ██╔══██║██║ ██╔══╝ ╚════██║
███████║███████╗ ██║ ███████╗╚██████╔╝╚██████╗██║ ██║███████╗███████╗███████║
╚══════╝╚══════╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
"
#sudo dpkg-reconfigure locales
sudo tee -a /etc/locale.gen << EOF
de_DE.UTF-8 UTF-8
EOF
sudo locale-gen
sudo dpkg-reconfigure tzdata
#sudo ln -fs /usr/share/zoneinfo/Europe/Berlin /etc/localtime
#sudo dpkg-reconfigure -f noninteractive tzdata
echo "
█████╗ ██████╗ ████████╗ ██████╗ ███████╗████████╗ ██╗ ██╗██████╗ ██████╗ █████╗ ████████╗███████╗
██╔══██╗██╔══██╗╚══██╔══╝ ██╔════╝ ██╔════╝╚══██╔══╝ ██║ ██║██╔══██╗██╔══██╗██╔══██╗╚══██╔══╝██╔════╝
███████║██████╔╝ ██║█████╗██║ ███╗█████╗ ██║ ██║ ██║██████╔╝██║ ██║███████║ ██║ █████╗
██╔══██║██╔═══╝ ██║╚════╝██║ ██║██╔══╝ ██║ ██║ ██║██╔═══╝ ██║ ██║██╔══██║ ██║ ██╔══╝
██║ ██║██║ ██║ ╚██████╔╝███████╗ ██║ ╚██████╔╝██║ ██████╔╝██║ ██║ ██║ ███████╗
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝
"
sudo apt-get update
sudo apt-get install -y software-properties-common
echo "
███╗ ██╗ ██████╗ ██╗███╗ ██╗██╗ ██╗
████╗ ██║██╔════╝ ██║████╗ ██║╚██╗██╔╝
██╔██╗ ██║██║ ███╗██║██╔██╗ ██║ ╚███╔╝
██║╚██╗██║██║ ██║██║██║╚██╗██║ ██╔██╗
██║ ╚████║╚██████╔╝██║██║ ╚████║██╔╝ ██╗
╚═╝ ╚═══╝ ╚═════╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝
"
sudo -A add-apt-repository -y ppa:ondrej/nginx
sudo apt-get update
sudo apt-get -y install nginx
echo "
██████╗ ██╗ ██╗██████╗
██╔══██╗██║ ██║██╔══██╗
██████╔╝███████║██████╔╝
██╔═══╝ ██╔══██║██╔═══╝
██║ ██║ ██║██║
╚═╝ ╚═╝ ╚═╝╚═╝
"
sudo -A add-apt-repository -y ppa:ondrej/php
sudo apt-get update
sudo apt-get install -y php$PHP_VERSION-fpm
echo "
██████╗ ██╗ ██╗██████╗ ███████╗██╗ ██╗████████╗███████╗███╗ ██╗███████╗██╗ ██████╗ ███╗ ██╗███████╗
██╔══██╗██║ ██║██╔══██╗ ██╔════╝╚██╗██╔╝╚══██╔══╝██╔════╝████╗ ██║██╔════╝██║██╔═══██╗████╗ ██║██╔════╝
██████╔╝███████║██████╔╝█████╗█████╗ ╚███╔╝ ██║ █████╗ ██╔██╗ ██║███████╗██║██║ ██║██╔██╗ ██║███████╗
██╔═══╝ ██╔══██║██╔═══╝ ╚════╝██╔══╝ ██╔██╗ ██║ ██╔══╝ ██║╚██╗██║╚════██║██║██║ ██║██║╚██╗██║╚════██║
██║ ██║ ██║██║ ███████╗██╔╝ ██╗ ██║ ███████╗██║ ╚████║███████║██║╚██████╔╝██║ ╚████║███████║
╚═╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚══════╝
"
sudo apt-get install -y php$PHP_VERSION-bcmath
sudo apt-get install -y php$PHP_VERSION-cgi
sudo apt-get install -y php$PHP_VERSION-common #
sudo apt-get install -y php$PHP_VERSION-ctype #
sudo apt-get install -y php$PHP_VERSION-curl
sudo apt-get install -y php$PHP_VERSION-fileinfo #
sudo apt-get install -y php$PHP_VERSION-gd
sudo apt-get install -y php$PHP_VERSION-mbstring
sudo apt-get install -y php$PHP_VERSION-mysql
sudo apt-get install -y php$PHP_VERSION-opcache #
sudo apt-get install -y php$PHP_VERSION-pdo #
sudo apt-get install -y php$PHP_VERSION-tokenizer #
sudo apt-get install -y php$PHP_VERSION-xml
sudo apt-get install -y php$PHP_VERSION-zip
sudo systemctl restart nginx
echo "
███╗ ██╗ █████╗ ███╗ ██╗ ██████╗ ███████╗██╗██████╗ ██████╗ ██╗████████╗ ██████╗██╗ ██╗██████╗ ██╗
████╗ ██║██╔══██╗████╗ ██║██╔═══██╗ ╚══███╔╝██║██╔══██╗ ██╔════╝ ██║╚══██╔══╝ ██╔════╝██║ ██║██╔══██╗██║
██╔██╗ ██║███████║██╔██╗ ██║██║ ██║█████╗ ███╔╝ ██║██████╔╝█████╗██║ ███╗██║ ██║█████╗██║ ██║ ██║██████╔╝██║
██║╚██╗██║██╔══██║██║╚██╗██║██║ ██║╚════╝███╔╝ ██║██╔═══╝ ╚════╝██║ ██║██║ ██║╚════╝██║ ██║ ██║██╔══██╗██║
██║ ╚████║██║ ██║██║ ╚████║╚██████╔╝ ███████╗██║██║ ╚██████╔╝██║ ██║ ╚██████╗╚██████╔╝██║ ██║███████╗
╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚══════╝╚═╝╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝
"
sudo apt-get install -y nano git zip curl zsh redis-server openssh-server
echo "
███████╗███████╗██╗ ██╗ ██████╗ ███████╗██████╗ ██╗███████╗ ██████╗ ██████╗ ███████╗███╗ ██╗███████╗███████╗██╗ ██╗
╚══███╔╝██╔════╝██║ ██║ ██╔══██╗██╔════╝██╔══██╗██║██╔════╝ ██╔═══██╗██╔══██╗██╔════╝████╗ ██║██╔════╝██╔════╝██║ ██║
███╔╝ ███████╗███████║█████╗██████╔╝█████╗ ██║ ██║██║███████╗█████╗██║ ██║██████╔╝█████╗ ██╔██╗ ██║███████╗███████╗███████║
███╔╝ ╚════██║██╔══██║╚════╝██╔══██╗██╔══╝ ██║ ██║██║╚════██║╚════╝██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║╚════██║╚════██║██╔══██║
███████╗███████║██║ ██║ ██║ ██║███████╗██████╔╝██║███████║ ╚██████╔╝██║ ███████╗██║ ╚████║███████║███████║██║ ██║
╚══════╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═════╝ ╚═╝╚══════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝╚══════╝╚══════╝╚═╝ ╚═╝
"
sudo apt-get install -y zsh redis-server openssh-server
echo "
██████╗ ██████╗ ██████╗ ██╗███████╗ ██████╗████████╗███████╗ ███████╗ ██████╗ ██╗ ██████╗ ███████╗██████╗
██╔══██╗██╔══██╗██╔═══██╗ ██║██╔════╝██╔════╝╚══██╔══╝██╔════╝ ██╔════╝██╔═══██╗██║ ██╔══██╗██╔════╝██╔══██╗
██████╔╝██████╔╝██║ ██║ ██║█████╗ ██║ ██║ ███████╗█████╗█████╗ ██║ ██║██║ ██║ ██║█████╗ ██████╔╝
██╔═══╝ ██╔══██╗██║ ██║██ ██║██╔══╝ ██║ ██║ ╚════██║╚════╝██╔══╝ ██║ ██║██║ ██║ ██║██╔══╝ ██╔══██╗
██║ ██║ ██║╚██████╔╝╚█████╔╝███████╗╚██████╗ ██║ ███████║ ██║ ╚██████╔╝███████╗██████╔╝███████╗██║ ██║
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚══════╝ ╚═╝ ╚═════╝ ╚══════╝╚═════╝ ╚══════╝╚═╝ ╚═╝
"
sudo mkdir /var/www/projects
sudo chown $USER:$USER /var/www/projects
echo "
███╗ ███╗██╗ ██╗███████╗ ██████╗ ██╗ ███████╗███████╗██████╗ ██╗ ██╗███████╗██████╗
████╗ ████║╚██╗ ██╔╝██╔════╝██╔═══██╗██║ ██╔════╝██╔════╝██╔══██╗██║ ██║██╔════╝██╔══██╗
██╔████╔██║ ╚████╔╝ ███████╗██║ ██║██║ █████╗ ███████╗█████╗ ██████╔╝██║ ██║█████╗ ██████╔╝
██║╚██╔╝██║ ╚██╔╝ ╚════██║██║▄▄ ██║██║ ╚════╝ ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██╔══╝ ██╔══██╗
██║ ╚═╝ ██║ ██║ ███████║╚██████╔╝███████╗ ███████║███████╗██║ ██║ ╚████╔╝ ███████╗██║ ██║
╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚══▀▀═╝ ╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝
"
sudo apt-get install mysql-server -y
# Pre-configure MySQL root password
echo "Pre-configuring MySQL root password..."
sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password $MYSQL_ROOT_PASSWORD"
sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $MYSQL_ROOT_PASSWORD"
sudo mysql -u root <<EOF
-- Set root password if not already set
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY '$MYSQL_ROOT_PASSWORD';
-- Remove anonymous users
DELETE FROM mysql.user WHERE User='';
-- Disallow remote root login
UPDATE mysql.user SET Host='localhost' WHERE User='root';
-- Remove test database
DELETE FROM mysql.db WHERE Db='test' OR Db='test_%';
-- Reload privilege tables to apply changes
FLUSH PRIVILEGES;
EOF
# Step 3 - Create New MySQL User and Grant Privileges
echo "Creating new MySQL user 'dbuser' with mysql_native_password..."
sudo mysql -u root -p"$MYSQL_ROOT_PASSWORD" <<EOF
CREATE USER IF NOT EXISTS 'dbuser'@'localhost' IDENTIFIED WITH mysql_native_password BY '$MYSQL_USER_PASSWORD';
GRANT ALL PRIVILEGES ON *.* TO 'dbuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EOF
echo "MySQL installation and configuration complete."
echo "
███████╗██╗ ██╗██████╗ ███████╗██████╗ ██╗ ██╗██╗███████╗ ██████╗ ██████╗
██╔════╝██║ ██║██╔══██╗██╔════╝██╔══██╗██║ ██║██║██╔════╝██╔═══██╗██╔══██╗
███████╗██║ ██║██████╔╝█████╗ ██████╔╝██║ ██║██║███████╗██║ ██║██████╔╝
╚════██║██║ ██║██╔═══╝ ██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚════██║██║ ██║██╔══██╗
███████║╚██████╔╝██║ ███████╗██║ ██║ ╚████╔╝ ██║███████║╚██████╔╝██║ ██║
╚══════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝
"
sudo apt-get install supervisor
echo "
██████╗ ██╗ ██╗ ███╗ ███╗██╗ ██╗ ███████╗███████╗██╗ ██╗
██╔═══██╗██║ ██║ ████╗ ████║╚██╗ ██╔╝ ╚══███╔╝██╔════╝██║ ██║
██║ ██║███████║█████╗██╔████╔██║ ╚████╔╝█████╗ ███╔╝ ███████╗███████║
██║ ██║██╔══██║╚════╝██║╚██╔╝██║ ╚██╔╝ ╚════╝███╔╝ ╚════██║██╔══██║
╚██████╔╝██║ ██║ ██║ ╚═╝ ██║ ██║ ███████╗███████║██║ ██║
╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝╚══════╝╚═╝ ╚═╝
"
echo "insert password for sudo"
chsh -s $(which zsh) <<< "$OS_USER_PASSWORD"
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" "" --unattended
echo "
██████╗ ██████╗ ███╗ ███╗██████╗ ██████╗ ███████╗███████╗██████╗
██╔════╝██╔═══██╗████╗ ████║██╔══██╗██╔═══██╗██╔════╝██╔════╝██╔══██╗
██║ ██║ ██║██╔████╔██║██████╔╝██║ ██║███████╗█████╗ ██████╔╝
██║ ██║ ██║██║╚██╔╝██║██╔═══╝ ██║ ██║╚════██║██╔══╝ ██╔══██╗
╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚██████╔╝███████║███████╗██║ ██║
╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝
"
cd ~
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
echo "
██████╗ █████╗ ███████╗██╗ ██╗ █████╗ ██╗ ██╗ █████╗ ███████╗███████╗███████╗
██╔══██╗██╔══██╗██╔════╝██║ ██║ ██╔══██╗██║ ██║██╔══██╗██╔════╝██╔════╝██╔════╝
██████╔╝███████║███████╗███████║ ███████║██║ ██║███████║███████╗█████╗ ███████╗
██╔══██╗██╔══██║╚════██║██╔══██║ ██╔══██║██║ ██║██╔══██║╚════██║██╔══╝ ╚════██║
██╗██████╔╝██║ ██║███████║██║ ██║███████╗██║ ██║███████╗██║██║ ██║███████║███████╗███████║
╚═╝╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝╚═╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
"
echo "alias upd='sudo apt update'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases
echo "alias upg='sudo apt upgrade'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases
echo "alias cls='clear'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases
echo "alias ll='ls -lah'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases
echo "alias www='cd /var/www/projects'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases
echo "alias pa='php artisan'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases
echo "alias lclear='composer dump-autoload && pa clear-compiled && pa config:clear && pa cache:clear && pa view:clear && pa route:clear'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases
echo "alias phpunit='vendor/bin/phpunit'" >> /home/$USER/.bash_aliases && source /home/$USER/.bash_aliases
echo "
███████╗██╗ ██╗██████╗ ██████╗ ██████╗ ████████╗ ██████╗ ██████╗ ███╗ ███╗██████╗ ██████╗ ███████╗███████╗██████╗ ██████╗ ██╗███╗ ██╗ ██████╗ █████╗ ████████╗██╗ ██╗
██╔════╝╚██╗██╔╝██╔══██╗██╔═══██╗██╔══██╗╚══██╔══╝ ██╔════╝██╔═══██╗████╗ ████║██╔══██╗██╔═══██╗██╔════╝██╔════╝██╔══██╗ ██╔══██╗██║████╗ ██║ ██╔══██╗██╔══██╗╚══██╔══╝██║ ██║
█████╗ ╚███╔╝ ██████╔╝██║ ██║██████╔╝ ██║█████╗██║ ██║ ██║██╔████╔██║██████╔╝██║ ██║███████╗█████╗ ██████╔╝█████╗██████╔╝██║██╔██╗ ██║█████╗██████╔╝███████║ ██║ ███████║
██╔══╝ ██╔██╗ ██╔═══╝ ██║ ██║██╔══██╗ ██║╚════╝██║ ██║ ██║██║╚██╔╝██║██╔═══╝ ██║ ██║╚════██║██╔══╝ ██╔══██╗╚════╝██╔══██╗██║██║╚██╗██║╚════╝██╔═══╝ ██╔══██║ ██║ ██╔══██║
███████╗██╔╝ ██╗██║ ╚██████╔╝██║ ██║ ██║ ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚██████╔╝███████║███████╗██║ ██║ ██████╔╝██║██║ ╚████║ ██║ ██║ ██║ ██║ ██║ ██║
╚══════╝╚═╝ ╚═╝╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝
"
echo "and include .bash_aliases in .zshrc"
tee -a /home/$USER/.zshrc << EOF
export PATH=$PATH:/home/$USER/.config/composer/vendor/bin
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
EOF
echo "
█████╗ ██████╗ ████████╗ ██████╗ ███████╗████████╗ ██╗ ██╗██████╗ ██████╗ █████╗ ████████╗███████╗
██╔══██╗██╔══██╗╚══██╔══╝ ██╔════╝ ██╔════╝╚══██╔══╝ ██║ ██║██╔══██╗██╔══██╗██╔══██╗╚══██╔══╝██╔════╝
███████║██████╔╝ ██║█████╗██║ ███╗█████╗ ██║ ██║ ██║██████╔╝██║ ██║███████║ ██║ █████╗
██╔══██║██╔═══╝ ██║╚════╝██║ ██║██╔══╝ ██║ ██║ ██║██╔═══╝ ██║ ██║██╔══██║ ██║ ██╔══╝
██║ ██║██║ ██║ ╚██████╔╝███████╗ ██║ ╚██████╔╝██║ ██████╔╝██║ ██║ ██║ ███████╗
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝
"
sudo apt-get update
echo "
█████╗ ██████╗ ████████╗ ██████╗ ███████╗████████╗ ██╗ ██╗██████╗ ██████╗ ██████╗ █████╗ ██████╗ ███████╗
██╔══██╗██╔══██╗╚══██╔══╝ ██╔════╝ ██╔════╝╚══██╔══╝ ██║ ██║██╔══██╗██╔════╝ ██╔══██╗██╔══██╗██╔══██╗██╔════╝
███████║██████╔╝ ██║█████╗██║ ███╗█████╗ ██║ ██║ ██║██████╔╝██║ ███╗██████╔╝███████║██║ ██║█████╗
██╔══██║██╔═══╝ ██║╚════╝██║ ██║██╔══╝ ██║ ██║ ██║██╔═══╝ ██║ ██║██╔══██╗██╔══██║██║ ██║██╔══╝
██║ ██║██║ ██║ ╚██████╔╝███████╗ ██║ ╚██████╔╝██║ ╚██████╔╝██║ ██║██║ ██║██████╔╝███████╗
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚══════╝
"
sudo apt-get upgrade -y
sudo apt upgrade -y
echo "
█████╗ ██████╗ ████████╗ ██████╗██╗ ███████╗ █████╗ ███╗ ██╗
██╔══██╗██╔══██╗╚══██╔══╝ ██╔════╝██║ ██╔════╝██╔══██╗████╗ ██║
███████║██████╔╝ ██║█████╗██║ ██║ █████╗ ███████║██╔██╗ ██║
██╔══██║██╔═══╝ ██║╚════╝██║ ██║ ██╔══╝ ██╔══██║██║╚██╗██║
██║ ██║██║ ██║ ╚██████╗███████╗███████╗██║ ██║██║ ╚████║
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝
"
sudo apt-get autoremove
sudo apt-get clean
echo ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
echo ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
echo ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
echo ":::::::::::::::: You need to logout or reconnect for changes to take affect :::::::::"
echo ":::::::: when you log in the prompt for command line should be like this: ➜ ~ ::::::"
echo ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment