Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Ruby Shell
branch: master

README.md

Sprinkle

Use the Sprinkle tool to automate the setup of an application server on Linux.

How does this work?

Sprinkle uses "packages" which are things to install. They can be installed from source or from a package manager. Package installation scripts are in the "packages" directory and if they require a static or generated configuration file, those can be found in the "assets" directory.

What does it install?

  • apt package manager
  • iptables
  • memcached
  • nginx
  • redis
  • ruby
  • mysql
  • git
  • (broken) copy ssh config and sshd config files
  • (broken) add deploy user

Test the configuration

sprinkle -s install.rb -t

Installation

setup: the memcache package right now as a deploy:deploy user and group, so you will have to adduser deploy on the box or change that as necessary. cp config.example.rb config.rb and customize with your settings.

  1. gem install sprinkle
  2. cp deploy.example.rb deploy.rb and customize.
  3. sprinkle -c -s install.rb

More information

Issues

On Ubuntu 10.04.4 LTS and Bundler 1.0.22 I was getting: /usr/lib/ruby/gems/1.8/gems/bundler-1.0.22/bin/bundle:14: uninitialized constant Bundler (NameError)

Resolution is here

Running as root

Following SSH security practices, I disabled root logins via SSH after supplying my local public key to the remote server, and use public key-based authentication. Some of the ssh config file edits look like this:

vim /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
UsePAM no
sudo /etc/init.d/ssh restart

You may need to run Sprinkle as connected via SSH as root if you aren't seeing any output, check this issue.

Something went wrong with that request. Please try again.