gamesshop/deploy/Vagrantfile
2024-07-05 22:29:35 +02:00

39 lines
1.5 KiB
Ruby

Vagrant.configure("2") do |config|
config.vm.boot_timeout = 600
config.vm.box = "ubuntu/focal64"
config.vm.network :forwarded_port, guest: 80, host: 1111
config.vm.synced_folder "../../games-shop", "/var/www/html"
config.vm.provision "shell", inline: <<-SHELL
sudo apt update
# Install dependencies
sudo apt install ca-certificates apt-transport-https software-properties-common lsb-release debian-keyring debian-archive-keyring curl -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install nginx php8.3 php8.3-{cli,fpm,curl,gd,zip,fileinfo,common,sqlite3,dom,mbstring,simplexml,xml,xmlreader,xmlwriter} -y
sudo ufw allow "OpenSSH"
sudo ufw allow "Nginx HTTP"
sudo ufw --force enable
sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /var/www/html/deploy/nginx-file /etc/nginx/sites-enabled/default
sudo systemctl enable --now nginx
sudo systemctl restart nginx
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
SHELL
end