Merge pull request #247 from tomalrussell/feature/reproducible_env

Feature/reproducible env
This commit is contained in:
Tom Russell 2019-05-27 15:34:08 +01:00 committed by GitHub
commit e9b4c0f211
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 15 deletions

32
Vagrantfile vendored
View File

@ -17,22 +17,30 @@ 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:
#
# 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
#
# View the documentation for the provider you are using for more
# information on available options.
# Using VirtualBox:
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"
# 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
# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the

View File

@ -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
@ -86,8 +86,14 @@ 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;\" "
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 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;"
#
@ -115,7 +121,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 install
#