#!/usr/bin/env bash # abort on error set -e # set locale to UTF-8 compatible. apologies to non-english speakers... locale-gen en_GB.utf8 update-locale LANG=en_GB.utf8 LC_ALL=en_GB.utf8 export LANG=en_GB.utf8 export LC_ALL=en_GB.utf8 # make sure we have up-to-date packages apt-get update # upgrade all packages apt-get upgrade -y # install packages as explained in INSTALL.md apt-get install -y ruby ruby-dev ruby-bundler \ libxml2-dev libxslt1-dev nodejs npm \ build-essential git-core \ postgresql postgresql-contrib libpq-dev libvips-dev \ libsasl2-dev libffi-dev libgd-dev libarchive-dev libbz2-dev npm install --global yarn ## install the bundle necessary for openstreetmap-website pushd /srv/openstreetmap-website # do bundle install as a convenience bundle install --retry=10 --jobs=2 # do yarn install as a convenience bundle exec bin/yarn install # create user and database for openstreetmap-website db_user_exists=`sudo -u postgres psql postgres -tAc "select 1 from pg_roles where rolname='vagrant'"` if [ "$db_user_exists" != "1" ]; then sudo -u postgres createuser -s vagrant sudo -u vagrant createdb -E UTF-8 -O vagrant openstreetmap sudo -u vagrant createdb -E UTF-8 -O vagrant osm_test fi # set up sample configs if [ ! -f config/database.yml ]; then sudo -u vagrant cp config/example.database.yml config/database.yml fi if [ ! -f config/storage.yml ]; then cp config/example.storage.yml config/storage.yml fi touch config/settings.local.yml # migrate the database to the latest version sudo -u vagrant bundle exec rails db:migrate popd