Capistrano recipes for deploying seaside applications.
Ruby Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


# SeaShell
# Capistrano deployment recipes for seaside platforms
# Author: Andreas Brodbeck, mindclue gmbh,
# Licence: MIT (see LICENSE file)

How to install
- Get SeaShell as source from
- Put everything in a folder "deployment" (or similar) at your project folder on your development machine (not on the server!).
- Depends on ruby-gem "capistrano", version >=2.5.5. To install capistrano, run this on your shell: "sudo gem install capistrano"

How to configure
- In the folder ./stages: Copy the file stage.rb.example to somestage.rb and change it to your needs. (Examples: production.rb, demo.rb, development.rb)
- Optional: Add a file on top level called tasks.rb, which will hold your project specific additional tasks. See examples/tasks.rb for hints.

How to use
- Open a shell in the folder you have put SeaShell
- Run "cap -T" on the shell to get a list of tasks and their description
- Choose your stage and run a task, for example "cap production info:env". (In fact, for each of your stages there will be a task to switch to that stage. For example "production". You need to execute that stage-choosing task prior to any other task. The general form of invocation thus is: cap <stage> <command>)

Goodies on server side
On your servers projects application path, there will be some files for your convenience:
- iss: Interactive Smalltalk Shell, just invoke it and then run Smalltalk code directly. It holds a topaz session in the background to run the code. This tool simplifies the "talk to your application". Needs the tool "rlwrap" to be present on your system (Ubuntu: sudo apt-get install rlwrap).
- <some smalltalk code>
- <application name>.conf: Application specific GemStone configuration file
- switch_environment: Some environment variable settings to "source-in" your shell, for switching to the current application. Use like this "source ./switch_environment" in your shell.
- Make shure your server does NOT load your login profile, when connecting with a non-login shell (Some systems do, I heard! Ubuntu doesn't.).
  This potentialy could override some environment settings from the SeaShell capistrano recipes.
- Your applications are stored in /opt/gemstone/applications/<app_name>
- Don't be confused by the name "gem". It is also used by ruby, not only by gemstone.
- Not meant to work on, with, over, under, on top, left of, outside or near of Windows. Sorry. Hygiene.
- lighttpd support is outdated and will not be updated, in favor of the usage of the cherokee webserver, which has a very nice GUI frontend builtin.
- Capistrano website:
- Seaside website:
- Seaside for Gemstone website:
- My Blog: