Nacreon is a project mainly written in Ruby, it's free.
Dead-simple PaaS
= Nacreon
So here it is, bits will be gotten to work, don't depend on anything in here, as not a lot of it has been figured out yet. It is beta software. There's a client (Ruby and command-line) that also serves as a reference implementation; see github.com/pete/terpene for that.
Nacreon is intended as a very simple, lightweight, Platform-as-a-Service application. It is written in Ruby, and currently supports only Ruby 1.9 applications, but see doc/TODO for information on future support.
== Prerequisites:
rake install_deps
or bundle install
will take care of
this.== Getting Ready:
You'll want to run rake migrate
to update the database. By default,
it uses an MySQL. You can change this by making a 'nacreon.json' file,
and pointing the environment variable $NACREON_CONF at it (the one in the
root of the repo is intended as reference and a simple version for devs.)
[TODO: Document the 'nacreon.json' config file when the other config stuff
get added to it.]
=== OS requirements
The packages required as prerequisites for various distros are listed below. [TODO: Mostly incomplete. If you run into a package that Nacreon requires that isn't mentioned in the command for your OS, please update the command.] See doc/deployment.rdoc for information on how to deploy to a server. Those instructions are written for Debian/Ubuntu; see below for what is required for your own operating system. "MySQL" is assumed; for Postgres or other databases, you'll need a few
As closely tied to the operating system as Nacreon is, it is difficult to support operating systems that don't conform on some level to a regular Unix environment. Linux, Dragonfly BSD, and OSX work; your mileage may vary elsewhere. Will almost certainly not work under Plan 9 or Windows, but one of the developers loves obscure platforms, so we can't say "never".
==== Debian / Ubuntu:
==== CRUX:
prt-get depinst ruby mysql-ruby
==== MacOS X:
==== Arch:
pacman -S ruby mysql-ruby
== Running a Dev Server:
There's a rake task for unicorn, but anything that understands a
config.ru ought to work.
rake unicorn
will start it up. If you wish to run it as a daemon,
rake daemon
will work. You can reload without restarting unicorn by
doing killall -HUP unicorn
. See
http://unicorn.bogomips.org/SIGNALS.html for more information.
You'll also need to start up an AppManager daemon if you plan to run any apps.
That can be done with rake appmanagerd
to run as a daemon with logging to
syslog, or rake appmanager
to run in the foreground with logging to stdout.
== Poking at the App Interactively:
rake irb
will start up IRB with everything loaded. You can poke at
the models in Nacreon::Model, instantiate the application and check
routing, and run requests through it.
== Further Documentation See doc/overview.rdoc for an overview of how the codebase works, if you want to hack on Nacreon.
See doc/TODO for where we're going with this.