Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
= 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: * Ruby 1.9.x (1.9.1 *ought* to work, although I've been working under 1.9.2) * Some gems: watts, json, sequel, (and the gems that those gems depend on). `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: * Instructions that should work for both are available in doc/deployment.rdoc. ==== CRUX: * `prt-get depinst ruby mysql-ruby` ==== MacOS X: * Install (via ports or homebrew, likely) Ruby, MySQL, and the libraries for accessing MySQL from Ruby. * rake newb ==== 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.