class DokkuBackend
Public Class Methods
new(dokku_host:, app_name:)
click to toggle source
# File lib/mobile_workflow_cli/dokku_backend.rb, line 2 def initialize(dokku_host:, app_name:) @dokku_host = dokku_host @dokku_app_name = app_name.gsub("_", "-") end
Public Instance Methods
configure_activestorage()
click to toggle source
# File lib/mobile_workflow_cli/dokku_backend.rb, line 17 def configure_activestorage end
create()
click to toggle source
# File lib/mobile_workflow_cli/dokku_backend.rb, line 7 def create remote_command "dokku apps:create #{@dokku_app_name}" remote_command "dokku postgres:create #{@dokku_app_name}" remote_command "dokku postgres:link #{@dokku_app_name} #{@dokku_app_name}" remote_command "dokku domains:enable #{@dokku_app_name}" remote_command "dokku letsencrypt #{@dokku_app_name}" local_command "git remote add dokku dokku@#{@dokku_host}:#{@dokku_app_name}" end
deploy()
click to toggle source
# File lib/mobile_workflow_cli/dokku_backend.rb, line 21 def deploy local_command "git push dokku master" end
destroy()
click to toggle source
# File lib/mobile_workflow_cli/dokku_backend.rb, line 31 def destroy remote_command "dokku apps:destroy #{@dokku_app_name}" end
dokku_app_host()
click to toggle source
# File lib/mobile_workflow_cli/dokku_backend.rb, line 35 def dokku_app_host remote_command "dokku url #{@dokku_app_name}" end
notifications_endpoint()
click to toggle source
# File lib/mobile_workflow_cli/dokku_backend.rb, line 39 def notifications_endpoint "https://#{dokku_app_host}/sns_notifications" end
sync_dotenv()
click to toggle source
# File lib/mobile_workflow_cli/dokku_backend.rb, line 25 def sync_dotenv env = File.read(".env").split.join(" ") puts "Setting env: #{env}" local_command "dokku config:set #{env}" end
Private Instance Methods
local_command(command)
click to toggle source
# File lib/mobile_workflow_cli/dokku_backend.rb, line 49 def local_command(command) puts "Running: #{command}" output = `#{command}` puts "Output: #{output}" unless output.blank? return output end
remote_command(command)
click to toggle source
# File lib/mobile_workflow_cli/dokku_backend.rb, line 44 def remote_command(command) command = "ssh -t ubuntu@#{@dokku_host} '#{command}'" local_command(command) end