Ansible playbooks for bringing up everything needed for a Rails project and more!
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
group_vars
roles
README.md
ansibilize.yml
appservers.yml
bgservers.yml
common.yml
common_rails.yml
dbservers.yml
pubsubservers.yml
redisservers.yml
staging
webservers.yml

README.md

#ansible-rails

Ansible playbooks for provisioning Ubunutu servers for rails applications. This is build with capistrano in mind, it sets up sudoers file for sudo-less management required by Capistrano 3.

##Current Playbooks:

  • common - common tasks for ubuntu
    • update packages (via apt-get)
    • monit
    • iptables
    • fail2ban
    • basic ssh configuration
  • appservers - provisions application servers
    • Unicorn
  • webservers - provisions web servers
    • Nginx
  • dbservers - provisions database server
    • Postgresql
  • bgservers - provisions background job servers
    • Resque
  • redisservers - provisions redis servers
    • Redis
  • pubsubservers - provisions PubSub servers
    • Faye

Setup

1. Create the deploy user (this must be done on every host)
  1. ssh into the server via root account
  2. Add the deploy user adduser deploy
  3. Add user to the sudo group adduser deploy sudo (optional)
  4. Exit the server exit
2. Ansibilize the hosts

Ansible is used to provision and setup the hosts for the application.

me@localhost: ansible-playbook -i staging ansibilize.yml -c paramiko --ask-sudo-pass