Migrating a complete Ruby rails app off heroku!!!

This is been driving me nuts for the last week.

The requirement: a Friend has a complete ruby rails app currently (was) running on heroku. It’s dead now as they don’t support the bamboo stack anymore.

So he’s asked me to help him take it off heroku (ok done that got all the code and db and everything)… and he wants to move it to a new / cloud server.

So ok. I’ve set-up an Ubuntu 14.x LTS Server for him and got the code oj to that. That’s done and fine.

But it just won’;t run. Compiles, etc. But whatever I say or do it won’t run. I done it all:

  • Pointed to a local DB. Postgres - set-up and working on local.

  • Moved DB from heroku to local with all data. Fine.

  • Compiled it - bundle install.

  • Yet when i run it… with ==> foreman start

13:54:36 web.1 | started with pid 12212

13:54:37 web.1 | I, [2015-06-30T13:54:37.799228 #12212] INFO – : listening on addr=0.0.0.0:5000 fd=10

13:54:37 web.1 | I, [2015-06-30T13:54:37.799328 #12212] INFO – : worker=0 spawning…

13:54:37 web.1 | I, [2015-06-30T13:54:37.800127 #12212] INFO – : master process ready

13:54:37 web.1 | I, [2015-06-30T13:54:37.800917 #12213] INFO – : worker=0 spawned pid=12213

13:54:37 web.1 | I, [2015-06-30T13:54:37.801238 #12213] INFO – : Refreshing Gem list

13:54:37 web.1 | DEPRECATION WARNING: require “activerecord” is deprecated and will be removed in Rails 3. Use require “active_record” instead. (called from /home/online/kacstbook-engage/vendor/bundle/ruby/1.8/gems/activerecord-2.3.15/lib/activerecord.rb:2)

… AND THEN …

tialized constant DEFAULT_HOST

13:56:09 web.1 | #<NoMethodError: undefined method `application’ for Rails:Module>

13:56:09 web.1 | E, [2015-06-30T13:56:09.106145 #12225] ERROR – : reaped #<Process::Status: pid=12235,exited(1)> worker=0

13:56:09 web.1 | I, [2015-06-30T13:56:09.106294 #12225] INFO – : worker=0 spawning…

13:56:09 web.1 | I, [2015-06-30T13:56:09.107351 #12239] INFO – : worker=0 spawned pid=12239

13:56:09 web.1 | I, [2015-06-30T13:56:09.107525 #12239] INFO – : Refreshing Gem list

13:56:09 web.1 | DEPRECATION WARNING: require “activerecord” is deprecated and will be removed in Rails 3. Use require “active_record” instead. (called from /home/online/kacstbook-engage/vendor/bundle/ruby/1.8/gems/activerecord-2.3.15/lib/activerecord.rb:2)

13:56:12 web.1 | /home/online/kacstbook-engage/config/initializers/paperclip.rb:6: warning: already initialized constant DEFAULT_HOST

13:56:12 web.1 | #<NoMethodError: undefined method `application’ for Rails:Module>

13:56:12 web.1 | E, [2015-06-30T13:56:12.745513 #12225] ERROR – : reaped #<Process::Status: pid=12239,exited(1)> worker=0

13:56:12 web.1 | I, [2015-06-30T13:56:12.745670 #12225] INFO – : worker=0 spawning…

13:56:12 web.1 | I, [2015-06-30T13:56:12.746711 #12243] INFO – : worker=0 spawned pid=12243

13:56:12 web.1 | I, [2015-06-30T13:56:12.746847 #12243] INFO – : Refreshing Gem list

13:56:12 web.1 | DEPRECATION WARNING: require “activerecord” is deprecated and will be removed in Rails 3. Use require “active_record” instead. (called from /home/online/kacstbook-engage/vendor/bundle/ruby/1.8/gems/activerecord-2.3.15/lib/activerecord.rb:2)

13:56:15 web.1 | /home/online/kacstbook-engage/config/initializers/paperclip.rb:6: warning: already initialized constant DEFAULT_HOST

13:56:16 web.1 | #<NoMethodError: undefined method `application’ for Rails:Module>

13:56:16 web.1 | E, [2015-06-30T13:56:16.003923 #12225] ERROR – : reaped #<Process::Status: pid=12243,exited(1)> worker=0

13:56:16 web.1 | I, [2015-06-30T13:56:16.004079 #12225] INFO – : worker=0 spawning…

13:56:16 web.1 | I, [2015-06-30T13:56:16.005235 #12247] INFO – : worker=0 spawned pid=12247

13:56:16 web.1 | I, [2015-06-30T13:56:16.005557 #12247] INFO – : Refreshing Gem list

13:56:16 web.1 | DEPRECATION WARNING: require “activerecord” is deprecated and will be removed in Rails 3. Use require “active_record” instead. (called from /home/online/kacstbook-engage/vendor/bundle/ruby/1.8/gems/activerecord-2.3.15/lib/activerecord.rb:2)

13:56:19 web.1 | /home/online/kacstbook-engage/config/initializers/paperclip.rb:6: warning: already initialized constant DEFAULT_HOST

13:56:19 web.1 | #<NoMethodError: undefined method `application’ for Rails:Module>

13:56:19 web.1 | E, [2015-06-30T13:56:19.368604 #12225] ERROR – : reaped #<Process::Status: pid=12247,exited(1)> worker=0

See the ==> <NoMethodError: undefined method `application’ for Rails:Module>

Any suggestions. I’m at my wits end. tried everything… And I just can’t see anything in port 5000!

Thanx.

Goan.

Rails.application exists only in rails 3 & above and from the log you appear to be running rails 2.3.15. At a guess you’ve a gem installed that requires rails 3 (or possibly rails 4). If you had run bundle update and some of your version constraints were quite loose then that might explain it.

Fred

Hi Fred,

Ok - is me, the same guy as the prev email (on this thread) Ok. Somehow
it won't take my Google Login anymore - so had to create a new one.

Ok trying the bundle update here. And it seems to be doing something.
Will keep you informed.

Any article or such youc an point me to? Unfortunately I'm not the
programmer - that guy's left and gone and this is a legacy app I have to
pport. I'm a Support Kinda guy :frowning: So anything that could be useful for
me? links etc. Appreciate it.

And later, once it's done and running - we'll get some programmer to
check/extend/de-bug it for future work....

Thanx again. Appreciated.

Goan.

Frederick Cheung wrote in post #1175881:

You should have copied Gemfile.lock from the working version, then used
bundle install
not bundle update. bundle install will install the versions that were
specified in Gemfile.lock. bundle update will update everything to
the latest version compatible with Gemfile, which is not the same
thing. Once you have it all working and in a version control system
such as git then you can update to later gems if you want/need to.

If you want to find out more about RoR then I suggest working through
a good tutorial such as railstutorial.org, which is free to use
online.

Colin

Hi Colin,

Tried that believe me. And I had the Gemfile.lock too. But it was
erroring. Bundle install used to work - but errors after that.

Now am using the bundle update (As Fred above suggested) and it's asking
for some ruby version changes - was 1.8.5 it asked to go to 1.9.2 for
nokogiri, then did that then now again asked to go to 1.9.3 as it's
asking for that for capybara....

So the update is still on and hopefully should work. I have no idea of
the quality of the original code to be (able to be) upgraded across
these versions etc. So Yes, plan to spend tomorrow reading-up on the
tutorial you suggest. Thanks Colin.

I don't want it in Git yet. I want it working on my stand-alone Ubuntu
LTS 14.2 server here first. Then will git it.

Coan.

Colin Law wrote in post #1175969:

Hi Colin,

Tried that believe me. And I had the Gemfile.lock too. But it was
erroring. Bundle install used to work - but errors after that.

Now am using the bundle update (As Fred above suggested) and it's asking
for some ruby version changes - was 1.8.5 it asked to go to 1.9.2 for
nokogiri, then did that then now again asked to go to 1.9.3 as it's
asking for that for capybara....

I don't think Fred suggested that, but pointed out that you may have
problems using it.
Replace Gemfile.lock with the original and run bundle install again.
If you get errors then ask for the fix. By using update you will not
end up with the same gems as on Heroku and if it does not work you
will not know whether the problem may be due to the different gem
versions or something else.

So the update is still on and hopefully should work. I have no idea of
the quality of the original code to be (able to be) upgraded across
these versions etc. So Yes, plan to spend tomorrow reading-up on the
tutorial you suggest. Thanks Colin.

I don't want it in Git yet. I want it working on my stand-alone Ubuntu
LTS 14.2 server here first. Then will git it.

This is absolutely the wrong approach. Put the version exactly as it
was into git first, then get it working locally. That way you will be
able to track the changes you made and easily go back when you go up a
blind alley (such as running bundle update instead of bundle install).
Such exercises are exactly where a source control system is most
useful.

By the way, the convention on this list to to insert replies into the
previous message as I have done. That way it is easier to follow the
thread.

Colin

Colin Law wrote in post #1175974:

Hi Colin,

Tried that believe me. And I had the Gemfile.lock too. But it was
erroring. Bundle install used to work - but errors after that.

Now am using the bundle update (As Fred above suggested) and it's asking
for some ruby version changes - was 1.8.5 it asked to go to 1.9.2 for
nokogiri, then did that then now again asked to go to 1.9.3 as it's
asking for that for capybara....

I don't think Fred suggested that, but pointed out that you may have
problems using it.
Replace Gemfile.lock with the original and run bundle install again.
If you get errors then ask for the fix. By using update you will not
end up with the same gems as on Heroku and if it does not work you
will not know whether the problem may be due to the different gem
versions or something else.

So the update is still on and hopefully should work. I have no idea of
the quality of the original code to be (able to be) upgraded across
these versions etc. So Yes, plan to spend tomorrow reading-up on the
tutorial you suggest. Thanks Colin.

I don't want it in Git yet. I want it working on my stand-alone Ubuntu
LTS 14.2 server here first. Then will git it.

This is absolutely the wrong approach. Put the version exactly as it
was into git first, then get it working locally. That way you will be
able to track the changes you made and easily go back when you go up a
blind alley (such as running bundle update instead of bundle install).
Such exercises are exactly where a source control system is most
useful.

By the way, the convention on this list to to insert replies into the
previous message as I have done. That way it is easier to follow the
thread.

Colin

Ok Got that. thanx. For the convention part. Will do.

Now about the coding thing - Ok am up a blind alley now. It upgraded
everything - but still won't run. no bundle errors... But well :frowning:

It asked for a config.rb file and such stuff :frowning: Said puma was not
available, etc etc... and then says this.....

20:56:07 wweb.1 | started with pid 3438
20:56:07 worker.1 | started with pid 3440
20:56:08 worker.1 |
/home/online/.rvm/gems/ruby-1.9.3-p551/gems/rake-0.8.7/lib/rake/alt_system.rb:32:
Use RbConfig instead of obsolete and deprecated Config.
20:56:08 wweb.1 |
/home/online/.rvm/gems/ruby-1.9.3-p551/gems/puma-2.11.3/lib/puma/dsl.rb:20:in
`read': No such file or directory - config/puma.rb (Errno::ENOENT)
20:56:08 wweb.1 | from
/home/online/.rvm/gems/ruby-1.9.3-p551/gems/puma-2.11.3/lib/puma/dsl.rb:20:in
`_load_from'
20:56:08 wweb.1 | from
/home/online/.rvm/gems/ruby-1.9.3-p551/gems/puma-2.11.3/lib/puma/dsl.rb:9:in
`block in load'
20:56:08 wweb.1 | from
/home/online/.rvm/gems/ruby-1.9.3-p551/gems/puma-2.11.3/lib/puma/dsl.rb:8:in
`tap'
20:56:08 wweb.1 | from
/home/online/.rvm/gems/ruby-1.9.3-p551/gems/puma-2.11.3/lib/puma/dsl.rb:8:in
`load'
20:56:08 wweb.1 | from
/home/online/.rvm/gems/ruby-1.9.3-p551/gems/puma-2.11.3/lib/puma/configuration.rb:35:in
`load'
20:56:08 wweb.1 | from
/home/online/.rvm/gems/ruby-1.9.3-p551/gems/puma-2.11.3/lib/puma/cli.rb:545:in
`parse_options'
20:56:08 wweb.1 | from
/home/online/.rvm/gems/ruby-1.9.3-p551/gems/puma-2.11.3/lib/puma/cli.rb:190:in
`run'
20:56:08 wweb.1 | from
/home/online/.rvm/gems/ruby-1.9.3-p551/gems/puma-2.11.3/bin/puma:10:in
`<top (required)>'
20:56:08 wweb.1 | from
/home/online/.rvm/gems/ruby-1.9.3-p551/bin/puma:23:in `load'
20:56:08 wweb.1 | from
/home/online/.rvm/gems/ruby-1.9.3-p551/bin/puma:23:in `<main>'
20:56:08 wweb.1 | from
/home/online/.rvm/gems/ruby-1.9.3-p551/bin/ruby_executable_hooks:15:in
`eval'
20:56:08 wweb.1 | from
/home/online/.rvm/gems/ruby-1.9.3-p551/bin/ruby_executable_hooks:15:in
`<main>'

Any thoughts. But tomorrow (is 9 PM here now so leaving for the day) - I
will do as you suggest - try getting down a clean copy, put it into git
and then try and slowly upgrade/build it.

Thanx for the attention.

Goan.

Remember, bundle install not upgrade.

Colin

Colin Law wrote in post #1175982:

...
Any thoughts. But tomorrow (is 9 PM here now so leaving for the day) - I
will do as you suggest - try getting down a clean copy, put it into git
and then try and slowly upgrade/build it.

Remember, bundle install not upgrade.

Colin

Thanx for the help. Appreciated. BTW, where are you? I'm in Goa (India)
- just so I can coord to your time-zones - and make the most of the
assistance you're so willingly offering Yes? Thank you again.

Ok. Got a latest copy from heroku. It does not run there anymore as the
bamboo stack's depreciated - so Yes, got it. Checked into
new-cedar-branch too - to avoid going "up the alley" again :slight_smile: All good.

Nothing's changed... Still errors...

With plain --> bundle install

$ foreman start
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/process.rb:54:in
`run': undefined method `spawn' for Process:Module (NoMethodError)
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/process.rb:53:in
`chdir'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/process.rb:53:in
`run'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/engine.rb:358:in
`spawn_processes'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/engine.rb:355:in
`upto'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/engine.rb:355:in
`spawn_processes'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/engine.rb:354:in
`each'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/engine.rb:354:in
`spawn_processes'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/engine.rb:57:in
`start'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/cli.rb:41:in
`start'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/thor-0.19.1/lib/thor/command.rb:27:in
`__send__'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/thor-0.19.1/lib/thor/command.rb:27:in
`run'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/thor-0.19.1/lib/thor/invocation.rb:126:in
`invoke_command'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/thor-0.19.1/lib/thor.rb:359:in
`dispatch'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/thor-0.19.1/lib/thor/base.rb:440:in
`start'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/bin/foreman:7
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/bin/foreman:19:in
`load'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/bin/foreman:19
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/bin/ruby_executable_hooks:15
online@online-Virtual-Machine:~/kacstbook-engage$

Any ideas? Anything I can try :frowning:

Goan.

OPSPL Goan wrote in post #1176005:

Colin Law wrote in post #1175982:

...
Any thoughts. But tomorrow (is 9 PM here now so leaving for the day) - I
will do as you suggest - try getting down a clean copy, put it into git
and then try and slowly upgrade/build it.

Remember, bundle install not upgrade.

Colin

Thanx for the help. Appreciated. BTW, where are you? I'm in Goa (India)
- just so I can coord to your time-zones - and make the most of the
assistance you're so willingly offering Yes? Thank you again.

Ok. Got a latest copy from heroku. It does not run there anymore as the
bamboo stack's depreciated - so Yes, got it. Checked into
new-cedar-branch too - to avoid going "up the alley" again :slight_smile: All good.

Nothing's changed... Still errors...

With plain --> bundle install - it bundles. No errors. But still won't
run.

$ foreman start

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/process.rb:54:in

`run': undefined method `spawn' for Process:Module (NoMethodError)
        from

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/process.rb:53:in

`chdir'
        from

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/process.rb:53:in

`run'
        from

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/engine.rb:358:in

`spawn_processes'
        from

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/engine.rb:355:in

`upto'
        from

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/engine.rb:355:in

`spawn_processes'
        from

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/engine.rb:354:in

`each'
        from

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/engine.rb:354:in

`spawn_processes'
        from

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/engine.rb:57:in

`start'
        from

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/lib/foreman/cli.rb:41:in

`start'
        from

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/thor-0.19.1/lib/thor/command.rb:27:in

`__send__'
        from

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/thor-0.19.1/lib/thor/command.rb:27:in

`run'
        from

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/thor-0.19.1/lib/thor/invocation.rb:126:in

`invoke_command'
        from

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/thor-0.19.1/lib/thor.rb:359:in

`dispatch'
        from

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/thor-0.19.1/lib/thor/base.rb:440:in

`start'
        from

/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/gems/foreman-0.78.0/bin/foreman:7

        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/bin/foreman:19:in
`load'
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/bin/foreman:19
        from
/home/online/.rvm/gems/ruby-1.8.7-p302@rails2310/bin/ruby_executable_hooks:15
online@online-Virtual-Machine:~/kacstbook-engage$

Any ideas? Anything I can try :frowning:

Goan.

1. Foreman looked like it was out of sync - so changed version.
Was getting this error ==> https://github.com/ddollar/foreman/issues/473
Now.
  foreman --version
  0.61.0
*** That seems better.

2. Then is asked for puma. So included that in the Gemfile. and had to
make a puma.rb file in config dir.
Used info from here:
http://stackoverflow.com/questions/29923026/how-to-deploy-michael-hartls-rails-tutorial-app-on-heroku-using-puma
Is this correct?

3. Now it gives another error :frowning:
$ foreman start
10:18:21 web.1 | started with pid 5846
10:18:21 web.1 | [5847] Puma starting in cluster mode...
10:18:21 web.1 | [5847] * Version 2.11.3 (ruby 1.8.7-p302), codename:
Intrepid Squirrel
10:18:21 web.1 | [5847] * Min threads: 5, max threads: 5
10:18:21 web.1 | [5847] * Environment: development
10:18:21 web.1 | [5847] * Process workers: 2
10:18:21 web.1 | [5847] * Preloading application
10:18:21 web.1 | [5847] ERROR: No application configured, nothing to
run
10:18:21 web.1 | exited with code 1
10:18:21 system | sending SIGTERM to all processes
SIGTERM received
$

:frowning:

G.

Don’t believe you can use preload_app! with Rails 2, by 1.87

Comment that out, and also the section about the worker.on_boot as I am fairly sure that won’t work either

Mike S. wrote in post #1176022:

Don't believe you can use preload_app! with Rails 2, by 1.87

Comment that out, and also the section about the worker.on_boot as I am
fairly sure that won't work either

Still the same error...

$ foreman start
19:13:05 web.1 | started with pid 10007
19:13:06 web.1 | [10008] Puma starting in cluster mode...
19:13:06 web.1 | [10008] * Version 2.11.3 (ruby 1.8.7-p302), codename:
Intrepid Squirrel
19:13:06 web.1 | [10008] * Min threads: 5, max threads: 5
19:13:06 web.1 | [10008] * Environment: development
19:13:06 web.1 | [10008] * Process workers: 2
19:13:06 web.1 | [10008] * Phased restart available
19:13:06 web.1 | [10008] ERROR: No application configured, nothing to
run
19:13:06 web.1 | exited with code 1
19:13:06 system | sending SIGTERM to all processes
SIGTERM received
$

Suggestions? For stuff to try?

Goan.

Yes. Hire someone who knows what they're doing.

Seriously, this is like watching someone try to remove their own
appendix reading "Abdominal Surgery for Dummies." It can't be
an effective use of your (or anyone else's) time.

Failing that, stop trying to run the app; leave foreman, puma, etc.
out of the picture and try running the tests. And use `bundle exec`
to insure you're using the Gemfile-specified versions.

(P.S. The immediate error
  ERROR: No application configured, nothing to run
probably means there's no config.ru file in the main directory.)

Good luck.

Hassan Schroeder wrote in post #1176048:

Suggestions? For stuff to try?

Yes. Hire someone who knows what they're doing.

You wanna try? I can send you the stuff..... Basically need it ported
off heroku for a friend that would like to run it all on a cloud server.

What'd it cost?

Let me know. And Yes was trying the abdominal surgery for dummies - as
there isn't anyone here that could/can handle it. Remember the guy in
Antarctica that did just that :smiley: - Not coz he was surrounded by
hospitals and doctors. obviously coz he wasn't!!!! :frowning:

OK, let's back up a second.

Why did this application need to be "ported off heroku" in the first
place? Because *no one was maintaining it.*

I wouldn't get this running somewhere else without upgrading it to
supported versions of Ruby/Rails/etc. and having an agreement in
place for at least handling security updates.

And if your friend doesn't understand the point of this, someone
needs to educate him or her :slight_smile:

FWIW,

Hassan Schroeder wrote in post #1176058:

Yes. Hire someone who knows what they're doing.

You wanna try? I can send you the stuff..... Basically need it ported
off heroku for a friend that would like to run it all on a cloud server.

OK, let's back up a second.

Why did this application need to be "ported off heroku" in the first
place? Because *no one was maintaining it.*

Not exactly. Mainly coz they now have their own company server and they
would like all their company apps on that server. Easier to maintain in
one place etc. And Yes, the original developer is *Not available* to
them anymore. So that's also an issue.

I wouldn't get this running somewhere else without upgrading it to
supported versions of Ruby/Rails/etc.

It isn't happening on heroku and frankly I can't really be bothered as
then they're still stuck to that platform. I'd prefer to get it running
stand-alone on a Ubuntu box. So then we can migrate it to their own
server.

and having an agreement in
place for at least handling security updates.

All in good time. It's gotta work first. Isn't working on heroku
as-of-now and isn't working anywhere else either :frowning: It is working code
though Ok.

And if your friend doesn't understand the point of this, someone
needs to educate him or her :slight_smile:

We work kinda differently here... :wink: We'll get it working,
up-and-running, then discuss what needs to be done for the future... For
now - just trying to get it past first-base to see that it *can run* on
a stand-alone webserver and isn't too tightly bound to the heroku stuff.
See?

So, again - any help is appreciated. Constructive criticism is too. :wink:
You even been to Goa (India)? I you haven't you must visit - it'll
improve your disposition :smiley:

Goan.

So, this is all because of the Heroku Bamboo retirement (for which there
was a years notice anyway)

Bamboo had pre-installed gems that will be needed to be added to your
Gemfile, with explicit versions

Current secure (or semi secure anyway) gems will not target ruby 1.8.7
(Heroku actually used the patched REE versions)

The fact that this is still running on Rails 2 (which has been out of
support since June 2013), together with ruby 1.8.7 which went end of
(extended) support in July 2014, means that you will have a hard time
getting it to run now on a modern stack.

Also, if you are no longer hosting on Heroku, the deployment method will
need to change (you cant just git push to the server, and hope it will
ok - although there is the dokku project that used heroku buildpacks,
but the only supported one there is Ceder)

Depending on if it can be classified as open source (in which case you
could get some free help), or closed-source (in which case you will
probably need to pay consultants under an NDA), you may be able to
upgrade to a supported version (which will basically be Rails 4 or
higher, as 3.2 will go end of support when Rails 5 is released in a
couple of months), depending on the apps complexity, it may actually be
worth rewriting it entirely from scratch. If you can host the code
somewhere (either Github if it is open-source), or somewhere like
Gitlab, or BitBucket if it is closed source (unless you want to pay
Github for private repos), and then ask if anyone is prepared to help
you fix it.

Sorry if this seems negative, but it is probably realistic.

Yes I know. I'd wanted to do it earlier - but there were delays - you
can imagine :frowning: Not mine. But they needed to get funding to do it and
then admin delays, etc etc....

Any info I can read-up on this anywhere? I have a couple of programmers
here that will be working on it - but I need to give them something
(they can hope) to work on. Huh? As of now - it isn't working and I need
it doing that at least.
* Basically info on how I could port this (legacy?) code to run on a
rails 4 system.

Yes, the plan is to get it off any of the platforms. Host it on a clean
Linux-Ruby-Rails Server. Virtual for that itself.

It's closed-source. Stuff owned by the people we're doing it for. So
well, Looks like we'll have to upgrade it to Rails 4. And I'll have to
find someone to do it. Know anyone who can try?

And Yes, thanx for the realistic answer. That was a real help. Any more
thoughts let me know.

Thanx again, Mike.

Goan.

Get it working on the existing version of Rails first. Then upgrade it.

Colin

Colin Law wrote in post #1176179: