Showcase - Deploy an Alchemy CMS Site using the RailsHoster gem

Railshoster Alchemy deployment:

Please ensure that you have these two gems installed before running this:

  • alchemy_cms
  • railshoster

1. Run the Alchemy installer

$ alchemy new your_project_name --scm=git

INFO: Run: alchemy help new to see options for database, etc.

NOTE: Do not generate a capistrano deploy script if asked for it, we are using the railshoster gem for generating it.

2. Create your remote git repo

Create a new repository on github, into gitolite, gitosis or where ever you have your git remote repositories.

3. Add the remote repository

$ git remote add origin git@your-reposerver.de:repository-name.git

TIP: If your repository server has a non standard ssh port use this line:

$ git remote add origin ssh://git@your-reposerver.de:SSHPORT/repository-name.git

4. Run Railshoster initializer

$ railshoster init -a YOUR_APP_KEY .

5. Add Alchemy and Rails 3.1 deploy tasks

# config/deploy.rb
require 'alchemy/capistrano'
load 'deploy/assets'

TIP: If your repository server has a non standard ssh port

Change set :repository, "git@your-reposerver.de/repository-name.git" to set :repository, "ssh://git@your-reposerver.de:SSHPORT/repository-name.git"

6. Commit and push deploy settings

$ git commit -am 'Added deploy settings'
$ git push origin master

7. If the SSH key forwarding does not work

Connect to your server and generate a ssh public key

$ ssh USER@SERVER.railshoster.de
$ ssh-keygen

NOTE: Do NOT enter a password for this key. Otherwise you will be prompted everytime you deploy Alchemy.

INFO: You propably have to copy the public key to your remote repository server.

Gitolite Example

$ echo "KEY GOES HERE" > gitolite-admin/keydir/USER@SERVER.railshoster.de.pub

# gitolite-admin/conf/gitolite.conf
repo repository-name
 R = USER@SERVER.railshoster.de

8. Run setup task

$ cap deploy:setup

NOTE: If prompted, enter the mount point of Alchemy to the same you have in your config/routes.rb file.

9. Make a first cold deploy

$ cap deploy:cold

10. Signup for Alchemy

Open a browser and enter the subdmain railshoster set up for you while registration.

TIP: You find your subdomain in your settings on https://kundenportal.railshoster.de/

Alchemy welcomes you with the signup screen. Enter some admin credentials and let Alchemy send them to you via email.

You're done!

Have fun with Alchemy!