changed to run foreman with vagrant (#2742)

* changed to run foreman with vagrant

* change port specification method and database setting

* delete changes of environment variable related code

* hard coated the port
This commit is contained in:
abcang 2017-05-04 11:39:50 +09:00 committed by Eugen Rochko
parent 908b96a370
commit bea117a4b6
2 changed files with 14 additions and 12 deletions

View file

@ -1,3 +1,3 @@
web: bundle exec puma -C config/puma.rb web: PORT=3000 bundle exec puma -C config/puma.rb
stream: yarn run start stream: PORT=4000 yarn run start
webpack: ./bin/webpack-dev-server webpack: ./bin/webpack-dev-server --host 0.0.0.0

20
Vagrantfile vendored
View file

@ -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", "1024"] vb.customize ["modifyvm", :id, "--memory", "2048"]
# 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