From 719a731fa882b5d6cf539820a67e6efaf4a970a2 Mon Sep 17 00:00:00 2001 From: Tom Russell Date: Tue, 5 Mar 2019 11:32:09 +0000 Subject: [PATCH 1/8] Try enabling virtualbox symlinks --- Vagrantfile | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 92d26d5f..7052fb4e 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -23,13 +23,15 @@ Vagrant.configure("2") do |config| # backing providers for Vagrant. These expose provider-specific options. # Example for VirtualBox: # - # config.vm.provider "virtualbox" do |vb| - # # Display the VirtualBox GUI when booting the machine - # vb.gui = true - # - # # Customize the amount of memory on the VM: - # vb.memory = "1024" - # end + config.vm.provider :virtualbox do |vm| + # # Display the VirtualBox GUI when booting the machine + # vb.gui = true + + # # Customize the amount of memory on the VM: + # vb.memory = "1024" + + vm.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"] + end # # View the documentation for the provider you are using for more # information on available options. From 2180a3124b0dce820ea4d96743dc5841e8f4ac6d Mon Sep 17 00:00:00 2001 From: Tom Russell Date: Tue, 5 Mar 2019 11:33:24 +0000 Subject: [PATCH 2/8] Escape variable when running db provision Still fails at present - need to add step before running migrations --- provision/vm_provision.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provision/vm_provision.sh b/provision/vm_provision.sh index ec28213d..0065a56c 100644 --- a/provision/vm_provision.sh +++ b/provision/vm_provision.sh @@ -87,7 +87,7 @@ su postgres -c "psql -c \"SELECT 1 FROM pg_database WHERE datname = 'vagrant';\" | grep -q 1 || su postgres -c "createdb -E UTF8 -T template0 --locale=en_US.utf8 -O vagrant vagrant" # Run all 'up' migrations to create tables, data types, indexes -su postgres -c "ls /vagrant/migrations/*.up.sql 2>/dev/null | while read -r migration; do psql < $migration; done;" +su postgres -c "ls /vagrant/migrations/*.up.sql 2>/dev/null | while read -r migration; do psql < \$migration; done;" # From cbb984008764ffbcfaced3ed1cb8ef6cfdb24ca9 Mon Sep 17 00:00:00 2001 From: Tom Russell Date: Tue, 5 Mar 2019 11:34:09 +0000 Subject: [PATCH 3/8] Try npm install with no bin links (avoiding symlinks) --- provision/vm_provision.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provision/vm_provision.sh b/provision/vm_provision.sh index 0065a56c..3584eb09 100644 --- a/provision/vm_provision.sh +++ b/provision/vm_provision.sh @@ -115,7 +115,7 @@ chown -R vagrant:vagrant /home/vagrant/colouringlondon npm install -g npm@next # Local fixed install of node modules -cd /vagrant/app && npm ci +cd /vagrant/app && npm ci --no-bin-links # From 10527d0dc92e1eb628741aa53cc81cd91e287d49 Mon Sep 17 00:00:00 2001 From: Tom Russell Date: Fri, 8 Mar 2019 10:33:12 +0000 Subject: [PATCH 4/8] Forward vagrant ports 3001:3001 and 5432:6543 for razzle and Postgres --- Vagrantfile | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 7052fb4e..181e3aec 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -17,12 +17,17 @@ Vagrant.configure("2") do |config| # Create a forwarded port mapping which allows access to a specific port # within the machine from a port on the host machine and only allow access # via 127.0.0.1 to disable public access + # dev node process config.vm.network "forwarded_port", guest: 3000, host: 3000, host_ip: "127.0.0.1" + # dev (node helper process) + config.vm.network "forwarded_port", guest: 3001, host: 3001, host_ip: "127.0.0.1" + # Postgres + config.vm.network "forwarded_port", guest: 5432, host: 6543, host_ip: "127.0.0.1" # Provider-specific configuration so you can fine-tune various # backing providers for Vagrant. These expose provider-specific options. - # Example for VirtualBox: - # + + # Using VirtualBox: config.vm.provider :virtualbox do |vm| # # Display the VirtualBox GUI when booting the machine # vb.gui = true @@ -30,11 +35,12 @@ Vagrant.configure("2") do |config| # # Customize the amount of memory on the VM: # vb.memory = "1024" + # Enable creating symlinks in shared folder + # On a Windows host, vagrant will need to run with permissions to 'Create Symlinks', either + # set for the current user in the Local Security Policy, or run from a shell with + # Administrative rights. vm.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"] end - # - # View the documentation for the provider you are using for more - # information on available options. # Enable provisioning with a shell script. Additional provisioners such as # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the From 84064b7c5a863a476aad1adaa54f9b1edf6c4903 Mon Sep 17 00:00:00 2001 From: Tom Russell Date: Fri, 8 Mar 2019 10:33:52 +0000 Subject: [PATCH 5/8] Create extensions in vm provision --- provision/vm_provision.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/provision/vm_provision.sh b/provision/vm_provision.sh index 3584eb09..ef5b4346 100644 --- a/provision/vm_provision.sh +++ b/provision/vm_provision.sh @@ -86,8 +86,12 @@ su postgres -c "psql -c \"SELECT 1 FROM pg_user WHERE usename = 'vagrant';\" " \ su postgres -c "psql -c \"SELECT 1 FROM pg_database WHERE datname = 'vagrant';\" " \ | grep -q 1 || su postgres -c "createdb -E UTF8 -T template0 --locale=en_US.utf8 -O vagrant vagrant" + +# Create extensions +su vagrant -c "psql -c \"create extension postgis; create extension pgcrypto;\" " + # Run all 'up' migrations to create tables, data types, indexes -su postgres -c "ls /vagrant/migrations/*.up.sql 2>/dev/null | while read -r migration; do psql < \$migration; done;" +su vagrant -c "ls /vagrant/migrations/*.up.sql 2>/dev/null | while read -r migration; do psql < \$migration; done;" # From acf69766980bcb9f5c89a500125f072de64ec581 Mon Sep 17 00:00:00 2001 From: Tom Russell Date: Fri, 8 Mar 2019 10:34:18 +0000 Subject: [PATCH 6/8] Fix postgres dir (9.5>10) in vm provision --- provision/vm_provision.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provision/vm_provision.sh b/provision/vm_provision.sh index ef5b4346..917c0125 100644 --- a/provision/vm_provision.sh +++ b/provision/vm_provision.sh @@ -73,7 +73,7 @@ service postgresql start # Ensure en_US locale exists locale-gen en_US.UTF-8 # Database config to listen on network connection -sed -i "s/#\?listen_address.*/listen_addresses '*'/" /etc/postgresql/9.5/main/postgresql.conf +sed -i "s/#\?listen_address.*/listen_addresses '*'/" /etc/postgresql/10/main/postgresql.conf # Allow password connections from any IP (so includes host) echo "host all all all md5" >> /etc/postgresql/10/main/pg_hba.conf # Restart postgres to pick up config changes From 728a0645838bb6576a717e5ffdbf504201642e61 Mon Sep 17 00:00:00 2001 From: Tom Russell Date: Fri, 8 Mar 2019 10:34:34 +0000 Subject: [PATCH 7/8] Plain npm install in vm provision --- provision/vm_provision.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provision/vm_provision.sh b/provision/vm_provision.sh index 917c0125..4e1d7234 100644 --- a/provision/vm_provision.sh +++ b/provision/vm_provision.sh @@ -119,7 +119,7 @@ chown -R vagrant:vagrant /home/vagrant/colouringlondon npm install -g npm@next # Local fixed install of node modules -cd /vagrant/app && npm ci --no-bin-links +cd /vagrant/app && npm install # From b6e67e1f41d8df2c297ac315c18f625346ff45de Mon Sep 17 00:00:00 2001 From: Tom Russell Date: Tue, 9 Apr 2019 09:34:46 +0100 Subject: [PATCH 8/8] Include pg_trgm in postgres vm install --- provision/vm_provision.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/provision/vm_provision.sh b/provision/vm_provision.sh index 4e1d7234..4d6428ab 100644 --- a/provision/vm_provision.sh +++ b/provision/vm_provision.sh @@ -88,7 +88,9 @@ su postgres -c "psql -c \"SELECT 1 FROM pg_database WHERE datname = 'vagrant';\" # Create extensions -su vagrant -c "psql -c \"create extension postgis; create extension pgcrypto;\" " +su vagrant -c "psql -c \"create extension postgis;\" " +su vagrant -c "psql -c \"create extension pgcrypto;\" " +su vagrant -c "psql -c \"create extension pg_trgm;\" " # Run all 'up' migrations to create tables, data types, indexes su vagrant -c "ls /vagrant/migrations/*.up.sql 2>/dev/null | while read -r migration; do psql < \$migration; done;"