Created
February 28, 2020 14:29
-
-
Save antarr/967a080d2cfe1e231cd3ab9cc84de1d4 to your computer and use it in GitHub Desktop.
migrate mysql to pg
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# frozen_string_literal: true | |
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
Vagrant.configure('2') do |config| | |
config.vm.box = 'ubuntu/xenial64' | |
config.vm.network 'forwarded_port', guest: 80, host: 80, auto_correct: true | |
config.vm.network 'forwarded_port', guest: 443, host: 443, auto_correct: true | |
config.vm.network 'forwarded_port', guest: 1234, host: 61_234, auto_correct: true | |
config.vm.network 'forwarded_port', guest: 3000, host: 3000, auto_correct: true | |
config.vm.network 'forwarded_port', guest: 4443, host: 4443, auto_correct: true | |
config.vm.network 'forwarded_port', guest: 9515, host: 9515, auto_correct: true | |
config.vm.network 'forwarded_port', guest: 10_000, host: 10_000, auto_correct: true | |
config.vm.network 'forwarded_port', guest: 5002, host: 5002, auto_correct: true | |
# config.vm.network 'forwarded_port', guest: 5432, host: 5432, auto_correct: true | |
config.vm.network 'forwarded_port', guest: 6379, host: 6379, auto_correct: true | |
# configure virtualbox host | |
config.vm.provider 'virtualbox' do |vb| | |
vb.memory = '4096' | |
vb.cpus = '4' | |
end | |
# Create a private network, which allows host-only access to the machine using a specific IP. | |
# config.vm.network :private_network, ip: '192.168.33.10' | |
# Always upgrade to latest packages | |
config.vm.provision 'shell', run: 'always', inline: <<-SHELL | |
apt-get update | |
apt-get -y upgrade | |
sudo apt-get -y install g++ qt5-default libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-x | |
debconf-set-selections <<< 'mysql-server mysql-server/root_password password vagrant' | |
debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password vagrant' | |
sudo apt-get -y install libmysqlclient-dev mysql-server libssl-dev | |
sudo apt-get -y install unixodbc-dev | |
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash - | |
sudo apt-get install -y nodejs | |
sudo apt-get -y install npm | |
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - | |
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list | |
sudo apt update && sudo apt install yarn | |
SHELL | |
# Install Ruby2.6 from Brightbox APT repository | |
config.vm.provision 'shell', inline: <<-SHELL | |
apt-get -y install software-properties-common | |
apt-add-repository -y ppa:brightbox/ruby-ng | |
apt-get update | |
apt-get -y install ruby-switch ruby-bundler ruby2.6 ruby2.6-dev | |
sudo gem install bundler -v 1.17.3 | |
SHELL | |
config.vm.provision 'shell', inline: <<-SHELL | |
echo "installing redis" | |
sudo apt-add-repository -y ppa:chris-lea/redis-server | |
sudo apt-get update | |
sudo apt-get -y install redis-server | |
sudo sed -i 's/^appendonly no/appendonly yes/' /etc/redis/redis.conf | |
sudo service redis-server restart | |
SHELL | |
# Install Passenger + Nginx through Phusion's APT repository | |
config.vm.provision 'shell', inline: <<-SHELL | |
apt-get install -y dirmngr gnupg | |
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7 | |
echo "deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main" > /etc/apt/sources.list.d/passenger.list | |
apt-get update | |
apt-get install -y nginx-extras passenger | |
SHELL | |
## | |
## Additional services that are not needed but may help in managing the server. | |
## Note that for webmin specifically, a port needs to be forwarded for it to work. | |
## | |
## WEBMIN | |
## ref.: https://doxfer.webmin.com/Webmin/Installation#apt-get_.28Debian.2FUbuntu.2FMint.29 | |
## IMPORTANT: Make sure wget is being installed above. Credentials for webmin should be vagrant/vagrant. | |
## | |
config.vm.provision 'shell', inline: <<-SHELL | |
echo -e "\n --> Installing Webmin.\n\n" | |
sh -c 'echo "deb http://download.webmin.com/download/repository sarge contrib" > /etc/apt/sources.list.d/webmin.list' | |
wget -qO - http://www.webmin.com/jcameron-key.asc | sudo apt-key add - | |
apt-get update | |
apt-get install -y webmin >/dev/null 2>&1 | |
apt-get -y install memcached | |
apt-get -y install xvfb libgtk-3-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 | |
SHELL | |
# # Run the shell script inline provisioner | |
# config.vm.provision 'shell', inline: <<-SHELL | |
# echo "-------------------- updating package lists" | |
# sudo apt-get update -y | |
# sudo apt upgrade -y | |
# sudo apt -y install vim bash-completion wget ca-certificates libpq-dev | |
# wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - | |
# echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list | |
# sudo apt update -y | |
# echo "-------------------- installing postgresql" | |
# sudo apt install -y postgresql-12 postgresql-client-12 | |
# systemctl status postgresql.service | |
# SHELL | |
# config.vm.provision 'shell', inline: <<-SHELL | |
# # fix permissions | |
# echo "-------------------- fixing listen_addresses on postgresql.conf" | |
# sudo sed -i "s/#listen_address.*/listen_addresses '*'/" /etc/postgresql/12/main/postgresql.conf | |
# echo "-------------------- fixing postgres pg_hba.conf file" | |
# # replace the ipv4 host line with the above line | |
# sudo cat >> /etc/postgresql/12/main/pg_hba.conf <<EOF | |
# # Accept all IPv4 connections - FOR DEVELOPMENT ONLY!!! | |
# host all all 0.0.0.0/0 md5 | |
# EOF | |
# SHELL | |
# config.vm.provision 'shell', inline: <<-SHELL | |
# # fix permissions | |
# echo "-------------------- fixing listen_addresses on postgresql.conf" | |
# sudo sed -i "s/#listen_address.*/listen_addresses '*'/" /etc/postgresql/12/main/postgresql.conf | |
# echo "-------------------- fixing postgres pg_hba.conf file" | |
# # replace the ipv4 host line with the above line | |
# sudo cat >> /etc/postgresql/12/main/pg_hba.conf <<EOF | |
# # Accept all IPv4 connections - FOR DEVELOPMENT ONLY!!! | |
# host all all 0.0.0.0/0 md5 | |
# EOF | |
# SHELL | |
# config.vm.provision 'shell', inline: 'sudo service postgresql restart' | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment