ruby on rails - Set up Mina to use Passenger and Docker -


i trying set mina's deploy.rb file. however, running several hurdles.

my rails 5 app uses docker database (postgresql) , redis background jobs. using phusion passenger (nginx) webserver.

this deploy.rb file looks @ moment:

require 'mina/rails' require 'mina/git' require 'mina/rvm'  set :application_name, 'app' set :domain, 'my_app.com' set :deploy_to, '/var/www/my_app.com' set :repository, 'git@github.com:myuser/my_app.git' set :branch, 'master'  # username in server ssh to. set :user, 'myuser'  # shared dirs , files symlinked app-folder  # not sure if necessary 'deploy:link_shared_paths' step. set :shared_dirs, fetch(:shared_dirs, []).push('log', 'tmp/pids', 'tmp/sockets', 'public/uploads') set :shared_files, fetch(:shared_files, []).push('config/database.yml', 'config/secrets.yml', 'config/puma.rb')  task :environment   invoke :'rvm:use', 'ruby-2.4.1@default' end  task :setup   %w(database.yml secrets.yml puma.rb).each { |f| command %[touch "#{fetch(:shared_path)}/config/#{f}"] }   comment "be sure edit #{fetch(:shared_path)}/config/database.yml, secrets.yml , puma.rb." end  desc "deploys current version server." task :deploy   deploy     comment "deploying #{fetch(:application_name)} #{fetch(:domain)}:#{fetch(:deploy_to)}"     # put things set empty directory set-up     # instance of project.     invoke :'git:clone'     invoke :'deploy:link_shared_paths'     invoke :'bundle:install'     comment 'cleaning docker builds'     command 'docker stop $(docker ps -qa)'     command 'docker rm $(docker ps -qa)'     comment 'stopping docker'     command 'docker-compose stop'     comment 'starting docker'     command 'docker-compose -d; sleep 5'     invoke :'rails:db_migrate'     invoke :'rails:assets_precompile'     invoke :'deploy:cleanup'   end end 

i came file looking bit here bit there. seems run properly. however, here problems facing:

  1. i not able run passenger-config restart-app $(pwd) or passenger-config restart-app $(#{fetch(:current_path)}) having restart passenger logging server , run command manually reason. kind of defeats purpose of using mina, should automate deploy process.

  2. once start passenger, seeing database error like:

    f, [2017-08-21t08:42:40.145292 #29048] fatal -- : [28d9fb0f-f187-4d16-b3bc-f947c4ec726f] f, [2017-08-21t08:42:40.145378 #29048] fatal -- : [28d9fb0f-f187-4d16-b3bc-f947c4ec726f] activerecord::statementinvalid (pg::undefinedtable: error: relation "subscriptions" not exist line 8: a.attrelid = '"subscriptions"'::regclas...

but sure not erring in dev think might have how deploying docker in production.

does have idea of how can proper docker + passenger setup mina?

just info, docker-compose.yml file looks this:

version: "2" services:   postgres:     image: postgres:9.6     ports:       - "5432:5432"     environment:       postgres_db: "${database_name}"       postgres_password: "${database_password}"     volumes:       - postgres-data:/var/lib/postgresql/data   redis:     image: redis:latest     ports:       - "6379:6379" volumes:   postgres-data:     driver: local 

thanks in advance!


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -