Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

capistrano config

  • Loading branch information...
commit 91cfe9106291c667c4b0bd3a02b4a5cde121b972 1 parent 47b958e
Piotr Mąsior authored April 15, 2012
2  Capfile
... ...
@@ -0,0 +1,2 @@
  1
+load 'deploy' if respond_to?(:namespace) # cap2 differentiator
  2
+Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }
2  Gemfile
@@ -5,6 +5,8 @@ gem 'mysql2'
5 5
 gem 'jquery-rails'
6 6
 gem 'unicorn'
7 7
 gem 'capistrano'
  8
+gem 'capistrano-ext'
  9
+
8 10
 
9 11
 group :assets do
10 12
   gem 'sass-rails',   '~> 3.2.3'
54  config/deploy.rb
... ...
@@ -0,0 +1,54 @@
  1
+# Add RVM's lib directory to the load path.
  2
+$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
  3
+
  4
+# Load RVM's capistrano plugin.
  5
+require "rvm/capistrano"
  6
+
  7
+set :rvm_ruby_string, '1.9.3@lethal'
  8
+
  9
+require 'capistrano/ext/multistage'
  10
+require 'bundler/capistrano'
  11
+load 'deploy/assets'
  12
+
  13
+set :stages,              %w(production)
  14
+set :default_stage,       "production"
  15
+ssh_options[:forward_agent] = true
  16
+
  17
+default_run_options[:pty]   = true
  18
+ssh_options[:paranoid]      = false
  19
+default_environment["PATH"] = "/bin:/usr/bin:/opt/ruby/bin:/usr/local/bin"
  20
+
  21
+set :repository, "git@github.com:piotrmasior/lethal.git"
  22
+set :scm,         :git
  23
+set :use_sudo,    false
  24
+set :deploy_via, :remote_cache
  25
+set :keep_releases, 3
  26
+
  27
+namespace :deploy do
  28
+
  29
+  desc "Restarting"
  30
+  task :restart, :roles => :app, :except => { :no_release => true } do
  31
+    sudo "/etc/init.d/unicorn_lethal reload"
  32
+  end
  33
+
  34
+  [:start, :stop].each do |t|
  35
+    desc "#{t} implement"
  36
+    task t, :roles => :app do ; end
  37
+  end
  38
+
  39
+  desc "Make symlinks"
  40
+  task :update_symlinks do
  41
+    ['database'].each do |filename|
  42
+      run "ln -s #{shared_path}/config/#{filename}.yml #{release_path}/config/#{filename}.yml"
  43
+    end
  44
+  end
  45
+
  46
+end
  47
+
  48
+before "deploy:assets:precompile", "deploy:update_symlinks"
  49
+
  50
+after "deploy:update_code",  "deploy:cleanup"
  51
+after "deploy:update_symlinks", "deploy:migrate"
  52
+
  53
+
  54
+require './config/boot'
9  config/deploy/production.rb
... ...
@@ -0,0 +1,9 @@
  1
+set :domain,      "railsutils.com"
  2
+set :user,        'lethal'
  3
+set :application, 'lethal.railsutils.com'
  4
+set :deploy_to,   "/home/lethal/www"
  5
+set :rails_env,   "production"
  6
+
  7
+role :web,        domain
  8
+role :app,        domain
  9
+role :db,         domain, :primary => true
49  config/environments/production.rb
... ...
@@ -1,67 +1,20 @@
1 1
 Lethal::Application.configure do
2  
-  # Settings specified here will take precedence over those in config/application.rb
3  
-
4  
-  # Code is not reloaded between requests
5 2
   config.cache_classes = true
6 3
 
7  
-  # Full error reports are disabled and caching is turned on
8 4
   config.consider_all_requests_local       = false
9 5
   config.action_controller.perform_caching = true
10 6
 
11  
-  # Disable Rails's static asset server (Apache or nginx will already do this)
12 7
   config.serve_static_assets = false
13 8
 
14  
-  # Compress JavaScripts and CSS
15 9
   config.assets.compress = true
16 10
 
17  
-  # Don't fallback to assets pipeline if a precompiled asset is missed
18 11
   config.assets.compile = false
19 12
 
20  
-  # Generate digests for assets URLs
21 13
   config.assets.digest = true
22 14
 
23  
-  # Defaults to Rails.root.join("public/assets")
24  
-  # config.assets.manifest = YOUR_PATH
25  
-
26  
-  # Specifies the header that your server uses for sending files
27  
-  # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
28  
-  # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
29  
-
30  
-  # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
31  
-  # config.force_ssl = true
32  
-
33  
-  # See everything in the log (default is :info)
34  
-  # config.log_level = :debug
35  
-
36  
-  # Prepend all log lines with the following tags
37  
-  # config.log_tags = [ :subdomain, :uuid ]
38  
-
39  
-  # Use a different logger for distributed setups
40  
-  # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
  15
+  config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
41 16
 
42  
-  # Use a different cache store in production
43  
-  # config.cache_store = :mem_cache_store
44  
-
45  
-  # Enable serving of images, stylesheets, and JavaScripts from an asset server
46  
-  # config.action_controller.asset_host = "http://assets.example.com"
47  
-
48  
-  # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
49  
-  # config.assets.precompile += %w( search.js )
50  
-
51  
-  # Disable delivery errors, bad email addresses will be ignored
52  
-  # config.action_mailer.raise_delivery_errors = false
53  
-
54  
-  # Enable threaded mode
55  
-  # config.threadsafe!
56  
-
57  
-  # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
58  
-  # the I18n.default_locale when a translation can not be found)
59 17
   config.i18n.fallbacks = true
60 18
 
61  
-  # Send deprecation notices to registered listeners
62 19
   config.active_support.deprecation = :notify
63  
-
64  
-  # Log the query plan for queries taking more than this (works
65  
-  # with SQLite, MySQL, and PostgreSQL)
66  
-  # config.active_record.auto_explain_threshold_in_seconds = 0.5
67 20
 end
241  public/index.html
... ...
@@ -1,241 +0,0 @@
1  
-<!DOCTYPE html>
2  
-<html>
3  
-  <head>
4  
-    <title>Ruby on Rails: Welcome aboard</title>
5  
-    <style type="text/css" media="screen">
6  
-      body {
7  
-        margin: 0;
8  
-        margin-bottom: 25px;
9  
-        padding: 0;
10  
-        background-color: #f0f0f0;
11  
-        font-family: "Lucida Grande", "Bitstream Vera Sans", "Verdana";
12  
-        font-size: 13px;
13  
-        color: #333;
14  
-      }
15  
-
16  
-      h1 {
17  
-        font-size: 28px;
18  
-        color: #000;
19  
-      }
20  
-
21  
-      a  {color: #03c}
22  
-      a:hover {
23  
-        background-color: #03c;
24  
-        color: white;
25  
-        text-decoration: none;
26  
-      }
27  
-
28  
-
29  
-      #page {
30  
-        background-color: #f0f0f0;
31  
-        width: 750px;
32  
-        margin: 0;
33  
-        margin-left: auto;
34  
-        margin-right: auto;
35  
-      }
36  
-
37  
-      #content {
38  
-        float: left;
39  
-        background-color: white;
40  
-        border: 3px solid #aaa;
41  
-        border-top: none;
42  
-        padding: 25px;
43  
-        width: 500px;
44  
-      }
45  
-
46  
-      #sidebar {
47  
-        float: right;
48  
-        width: 175px;
49  
-      }
50  
-
51  
-      #footer {
52  
-        clear: both;
53  
-      }
54  
-
55  
-      #header, #about, #getting-started {
56  
-        padding-left: 75px;
57  
-        padding-right: 30px;
58  
-      }
59  
-
60  
-
61  
-      #header {
62  
-        background-image: url("assets/rails.png");
63  
-        background-repeat: no-repeat;
64  
-        background-position: top left;
65  
-        height: 64px;
66  
-      }
67  
-      #header h1, #header h2 {margin: 0}
68  
-      #header h2 {
69  
-        color: #888;
70  
-        font-weight: normal;
71  
-        font-size: 16px;
72  
-      }
73  
-
74  
-
75  
-      #about h3 {
76  
-        margin: 0;
77  
-        margin-bottom: 10px;
78  
-        font-size: 14px;
79  
-      }
80  
-
81  
-      #about-content {
82  
-        background-color: #ffd;
83  
-        border: 1px solid #fc0;
84  
-        margin-left: -55px;
85  
-        margin-right: -10px;
86  
-      }
87  
-      #about-content table {
88  
-        margin-top: 10px;
89  
-        margin-bottom: 10px;
90  
-        font-size: 11px;
91  
-        border-collapse: collapse;
92  
-      }
93  
-      #about-content td {
94  
-        padding: 10px;
95  
-        padding-top: 3px;
96  
-        padding-bottom: 3px;
97  
-      }
98  
-      #about-content td.name  {color: #555}
99  
-      #about-content td.value {color: #000}
100  
-
101  
-      #about-content ul {
102  
-        padding: 0;
103  
-        list-style-type: none;
104  
-      }
105  
-
106  
-      #about-content.failure {
107  
-        background-color: #fcc;
108  
-        border: 1px solid #f00;
109  
-      }
110  
-      #about-content.failure p {
111  
-        margin: 0;
112  
-        padding: 10px;
113  
-      }
114  
-
115  
-
116  
-      #getting-started {
117  
-        border-top: 1px solid #ccc;
118  
-        margin-top: 25px;
119  
-        padding-top: 15px;
120  
-      }
121  
-      #getting-started h1 {
122  
-        margin: 0;
123  
-        font-size: 20px;
124  
-      }
125  
-      #getting-started h2 {
126  
-        margin: 0;
127  
-        font-size: 14px;
128  
-        font-weight: normal;
129  
-        color: #333;
130  
-        margin-bottom: 25px;
131  
-      }
132  
-      #getting-started ol {
133  
-        margin-left: 0;
134  
-        padding-left: 0;
135  
-      }
136  
-      #getting-started li {
137  
-        font-size: 18px;
138  
-        color: #888;
139  
-        margin-bottom: 25px;
140  
-      }
141  
-      #getting-started li h2 {
142  
-        margin: 0;
143  
-        font-weight: normal;
144  
-        font-size: 18px;
145  
-        color: #333;
146  
-      }
147  
-      #getting-started li p {
148  
-        color: #555;
149  
-        font-size: 13px;
150  
-      }
151  
-
152  
-
153  
-      #sidebar ul {
154  
-        margin-left: 0;
155  
-        padding-left: 0;
156  
-      }
157  
-      #sidebar ul h3 {
158  
-        margin-top: 25px;
159  
-        font-size: 16px;
160  
-        padding-bottom: 10px;
161  
-        border-bottom: 1px solid #ccc;
162  
-      }
163  
-      #sidebar li {
164  
-        list-style-type: none;
165  
-      }
166  
-      #sidebar ul.links li {
167  
-        margin-bottom: 5px;
168  
-      }
169  
-
170  
-      .filename {
171  
-        font-style: italic;
172  
-      }
173  
-    </style>
174  
-    <script type="text/javascript">
175  
-      function about() {
176  
-        info = document.getElementById('about-content');
177  
-        if (window.XMLHttpRequest)
178  
-          { xhr = new XMLHttpRequest(); }
179  
-        else
180  
-          { xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
181  
-        xhr.open("GET","rails/info/properties",false);
182  
-        xhr.send("");
183  
-        info.innerHTML = xhr.responseText;
184  
-        info.style.display = 'block'
185  
-      }
186  
-    </script>
187  
-  </head>
188  
-  <body>
189  
-    <div id="page">
190  
-      <div id="sidebar">
191  
-        <ul id="sidebar-items">
192  
-          <li>
193  
-            <h3>Browse the documentation</h3>
194  
-            <ul class="links">
195  
-              <li><a href="http://guides.rubyonrails.org/">Rails Guides</a></li>
196  
-              <li><a href="http://api.rubyonrails.org/">Rails API</a></li>
197  
-              <li><a href="http://www.ruby-doc.org/core/">Ruby core</a></li>
198  
-              <li><a href="http://www.ruby-doc.org/stdlib/">Ruby standard library</a></li>
199  
-            </ul>
200  
-          </li>
201  
-        </ul>
202  
-      </div>
203  
-
204  
-      <div id="content">
205  
-        <div id="header">
206  
-          <h1>Welcome aboard</h1>
207  
-          <h2>You&rsquo;re riding Ruby on Rails!</h2>
208  
-        </div>
209  
-
210  
-        <div id="about">
211  
-          <h3><a href="rails/info/properties" onclick="about(); return false">About your application&rsquo;s environment</a></h3>
212  
-          <div id="about-content" style="display: none"></div>
213  
-        </div>
214  
-
215  
-        <div id="getting-started">
216  
-          <h1>Getting started</h1>
217  
-          <h2>Here&rsquo;s how to get rolling:</h2>
218  
-
219  
-          <ol>
220  
-            <li>
221  
-              <h2>Use <code>rails generate</code> to create your models and controllers</h2>
222  
-              <p>To see all available options, run it without parameters.</p>
223  
-            </li>
224  
-
225  
-            <li>
226  
-              <h2>Set up a default route and remove <span class="filename">public/index.html</span></h2>
227  
-              <p>Routes are set up in <span class="filename">config/routes.rb</span>.</p>
228  
-            </li>
229  
-
230  
-            <li>
231  
-              <h2>Create your database</h2>
232  
-              <p>Run <code>rake db:create</code> to create your database. If you're not using SQLite (the default), edit <span class="filename">config/database.yml</span> with your username and password.</p>
233  
-            </li>
234  
-          </ol>
235  
-        </div>
236  
-      </div>
237  
-
238  
-      <div id="footer">&nbsp;</div>
239  
-    </div>
240  
-  </body>
241  
-</html>

0 notes on commit 91cfe91

Please sign in to comment.
Something went wrong with that request. Please try again.