|
@@ -38,7 +38,6 @@ sudo apt-get install \
|
|
|
-y
|
|
|
|
|
|
# Install rvm
|
|
|
-cd /vagrant
|
|
|
read RUBY_VERSION < .ruby-version
|
|
|
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
|
|
|
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
|
|
|
|
|
|
# Install gems and node modules
|
|
|
-gem install bundler
|
|
|
+gem install bundler foreman
|
|
|
bundle install
|
|
|
yarn install
|
|
|
|
|
|
# Build Mastodon
|
|
|
export $(cat ".env.vagrant" | xargs)
|
|
|
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
|
|
|
|
|
|
$start = <<SCRIPT
|
|
|
|
|
|
-cd /vagrant
|
|
|
-export $(cat ".env.vagrant" | xargs)
|
|
|
-rails s -d -b 0.0.0.0 -p #{ENV["PORT"]}
|
|
|
+echo 'To start server'
|
|
|
+echo ' $ vagrant ssh -c "cd /vagrant && foreman start"'
|
|
|
|
|
|
SCRIPT
|
|
|
|
|
@@ -76,7 +76,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|
|
|
|
|
config.vm.provider :virtualbox do |vb|
|
|
|
vb.name = "mastodon"
|
|
|
- vb.customize ["modifyvm", :id, "--memory", "1024"]
|
|
|
+ vb.customize ["modifyvm", :id, "--memory", "2048"]
|
|
|
|
|
|
# Disable VirtualBox DNS proxy to skip long-delay IPv6 resolutions.
|
|
|
# https://github.com/mitchellh/vagrant/issues/1172
|
|
@@ -106,8 +106,10 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|
|
config.vm.synced_folder ".", "/vagrant"
|
|
|
end
|
|
|
|
|
|
- # Otherwise, you can access the site at http://localhost:3000
|
|
|
- config.vm.network :forwarded_port, guest: 80, host: ENV["PORT"]
|
|
|
+ # Otherwise, you can access the site at http://localhost:3000 and http://localhost:4000 , http://localhost:8080
|
|
|
+ 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'
|
|
|
config.vm.provision :shell, inline: $provision, privileged: false
|