@ -38,7 +38,6 @@ sudo apt-get install \
-y
-y
# Install rvm
# Install rvm
cd /vagrant
read RUBY_VERSION < .ruby-version
read RUBY_VERSION < .ruby-version
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable --ruby=$RUBY_VERSION
curl -sSL https://get.rvm.io | bash -s stable --ruby=$RUBY_VERSION
@ -49,22 +48,23 @@ sudo -u postgres createuser -U postgres vagrant -s
sudo -u postgres createdb -U postgres mastodon_development
sudo -u postgres createdb -U postgres mastodon_development
# Install gems and node modules
# Install gems and node modules
gem install bundler
gem install bundler foreman
bundle install
bundle install
yarn install
yarn install
# Build Mastodon
# Build Mastodon
export $(cat ".env.vagrant" | xargs)
export $(cat ".env.vagrant" | xargs)
bundle exec rails db:setup
bundle exec rails db:setup
bundle exec rails assets:precompile
# Configure automatic loading of environment variable
echo 'export $(cat "/vagrant/.env.vagrant" | xargs)' >> ~/.bash_profile
SCRIPT
SCRIPT
$start = <<SCRIPT
$start = <<SCRIPT
cd /vagrant
echo 'To start server'
export $(cat ".env.vagrant" | xargs)
echo ' $ vagrant ssh -c "cd /vagrant && foreman start"'
rails s -d -b 0.0.0.0 -p #{ENV["PORT"]}
SCRIPT
SCRIPT
@ -76,7 +76,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provider :virtualbox do |vb|
config.vm.provider :virtualbox do |vb|
vb.name = "mastodon"
vb.name = "mastodon"
vb.customize ["modifyvm", :id, "--memory", "10 24"]
vb.customize ["modifyvm", :id, "--memory", "20 48 "]
# Disable VirtualBox DNS proxy to skip long-delay IPv6 resolutions.
# Disable VirtualBox DNS proxy to skip long-delay IPv6 resolutions.
# https://github.com/mitchellh/vagrant/issues/1172
# https://github.com/mitchellh/vagrant/issues/1172
@ -106,8 +106,10 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.synced_folder ".", "/vagrant"
config.vm.synced_folder ".", "/vagrant"
end
end
# Otherwise, you can access the site at http://localhost:3000
# Otherwise, you can access the site at http://localhost:3000 and http://localhost:4000 , http://localhost:8080
config.vm.network :forwarded_port, guest: 80, host: ENV["PORT"]
config.vm.network :forwarded_port, guest: 3000, host: 3000
config.vm.network :forwarded_port, guest: 4000, host: 4000
config.vm.network :forwarded_port, guest: 8080, host: 8080
# Full provisioning script, only runs on first 'vagrant up' or with 'vagrant provision'
# Full provisioning script, only runs on first 'vagrant up' or with 'vagrant provision'
config.vm.provision :shell, inline: $provision, privileged: false
config.vm.provision :shell, inline: $provision, privileged: false