There's a very highly rated application for defect management called Redmine. It's written in Ruby. I was able to get it working following their instructions. However, I would like to run the application as a service that starts automatically every time the server reboots. How do you go about adding a Ruby website as a Linux service?
There's no such thing as a "Ruby website"; a Rails site needs an application server process running to serve requests for the app, this is typically one of mongrel, thin, or unicorn (if you're using webrick, you're on a loser already).
Your options are, broadly:
I do (3), because it is awesome. I expect a lot of people to recommend monit in place of daemontools; I've done that, and I hated every second of it.
You may be interested in this:
http://rubyworks.rubyforge.org/
Once having your system set up properly to run as a real server for Ruby stuff, you can then insert your Redmine application into it's environment.
If you have apache or some other web server already running, you don't need to run Redmine as a separate service - just have it run under your web server. For Apache Just follow the instructions for installing Passenger here:
http://www.modrails.com/install.html
And then add an entry in Apache that points to the path to that site, like so:
http://www.modrails.com/documentation/Users%20guide%20Apache.html#_deploying_a_ruby_on_rails_application
If you're on a recent version of Ubuntu, you'll want to write an Upstart script - as well as that introduction, /etc/init is full of examples.
If you're on anything else, you'll want to create an init script - the redmine wiki has an example, specifically tailored for redmine.