tips-computer-programming-redmineOnHeroku

installing Redmine 1.1.0 to Heroku from a Debian development machine

as su:

apt-get install	redmine-sqlite redmine  # just to make sure all the dependencies are there
apt-get install rake	       		# i think this is redundant
apt-get install rubygems		# i think this is redundant

gem install rack -v=1.0.1
gem install i18n -v=0.4.2
gem install heroku
gem install bundler

now as normal user:

tar xovzf redmine-1.1.0.tar.gz
cd redmine-1.1.0/

create the file config/database.yml and put this in it:


production:
  adapter: sqlite3
  database: redmine
# host: localhost
# port: 
# username: redmine
# password: 
  encoding: utf8

development:
  adapter: sqlite3
  database: redmine
#  host: localhost
#  username: root
#  password:
  encoding: utf8

# following http://www.redmine.org/projects/redmine/wiki/RedmineInstall
rake generate_session_store
RAILS_ENV=production rake db:migrate
ruby script/server webrick -e production # to test, login at http://localhost:3000/ with login: admin, password: admin
^C

# we omitted the parts about Logger Configuration and SMTP server Configuration from 
# http://www.redmine.org/projects/redmine/wiki/RedmineInstall , u may want to do that later

# now heroku-specific stuff, from http://www.redmine.org/boards/2/topics/11465

edit config/environment.rb and add the following on a line just before the last "end":

  config.action_controller.session = { :key => "_myapp_session", :secret => "<SOME LONG STRING OF CHARACTERS>" }

edit .gitignore and delete the line "public/plugin_assets"

# verify that the file public/plugin_assets/README already exists; 
# i think it should if you actually logged into the server on localhost with webrick, above. 
# if not, you need to create it
ls public/plugin_assets/README

# when i did this, heroku's i18n gem was too old, so following http://docs.heroku.com/bundler :
create the file Gemfile and put this in it: #this may not be necessary...

source :gemcutter
gem 'i18n', '0.4.2'

edit .gitignore and add a line ".bundle"

su
/var/lib/gems/1.8/bin/bundle install
^D

# now follow the steps on http://docs.heroku.com/quickstart to u/l to heroku
git init
git add .
git commit -m "new app"

# i had already generated a public ssh key, but if you don't have one yet, 
# follow the directions linked from step 2, "Setup your SSH keys", 
# on http://docs.heroku.com/quickstart


/var/lib/gems/1.8/bin/heroku create
/var/lib/gems/1.8/bin/heroku rename YOUR_APP_NAME
git push heroku master
/var/lib/gems/1.8/bin/heroku rake db:migrate

# now go to YOUR_APP_NAME.heroku.com and your redmine app should be running. 
# be sure and login and change the admin password!
#  if you get an error about uninstalled gems, add them to the Gemfile and rerun bundle, then 
# 'git commit; git push heroku master' again, filling in the commit message so it isn't blank,
# then try db:migrate again

Mercurial repo

Never got this working... i think Redmine actually wants to mutate a local mercurial clone in order to do this... and Heroku's read-only filesystem won't permit that.

update: this is correct. i had seen a post by Eric Davis that suggested that he had gotten Redmine repos working on Heroku, but he confirmed to me that these were only SVN repos, for which Redmine doesn't need a local copy. Git and Mercurial repos currently won't work with Redmine on Heroku.