o2webappizer 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +11 -0
- data/lib/o2webappizer/app_builder.rb +45 -13
- data/lib/o2webappizer/generators/app_generator.rb +1 -0
- data/lib/o2webappizer/version.rb +1 -1
- data/o2webappizer.gemspec +1 -1
- data/templates/.gitignore.tt +1 -0
- data/templates/Capfile +19 -0
- data/templates/Gemfile.tt +7 -4
- data/templates/Vagrantfile.tt +74 -0
- data/templates/app/assets/javascripts/application.js.coffee +1 -1
- data/templates/app/views/spree/shared/_head.html.erb +2 -2
- data/templates/config/Backup/config.rb +124 -0
- data/templates/config/Backup/models/db_backup.rb.tt +91 -0
- data/templates/config/deploy.rb.tt +92 -0
- data/templates/config/deploy/production.rb +66 -0
- data/templates/config/deploy/staging.rb +66 -0
- data/templates/config/deploy/vagrant.rb +66 -0
- data/templates/config/initializers_tt/mail_interceptor.rb +21 -0
- data/templates/config/nginx.app.conf.erb +82 -0
- data/templates/config/nginx.conf.erb +102 -0
- data/templates/config/routes.rb.tt +3 -0
- data/templates/config/secrets.yml.tt +10 -0
- data/templates/config/sunzi/files/authorized_keys +1 -0
- data/templates/config/sunzi/files/sudoers +1 -0
- data/templates/config/sunzi/install.sh +14 -0
- data/templates/config/sunzi/recipes/libraries.sh +24 -0
- data/templates/config/sunzi/recipes/mysql.sh +19 -0
- data/templates/config/sunzi/recipes/nodejs.sh +6 -0
- data/templates/config/sunzi/recipes/passenger.sh +19 -0
- data/templates/config/sunzi/recipes/postgres.sh +14 -0
- data/templates/config/sunzi/recipes/ruby.sh +28 -0
- data/templates/config/sunzi/recipes/setup.sh +11 -0
- data/templates/config/sunzi/recipes/sunzi.sh +99 -0
- data/templates/config/sunzi/recipes/sysstat.sh +8 -0
- data/templates/config/sunzi/recipes/update.sh +2 -0
- data/templates/config/sunzi/recipes/user.sh +23 -0
- data/templates/config/sunzi/roles/admin.sh +20 -0
- data/templates/config/sunzi/roles/deployer.sh +7 -0
- data/templates/config/sunzi/roles/updater.sh +5 -0
- data/templates/config/sunzi/sunzi.yml.tt +26 -0
- data/templates/db/migrate/20160114191411_add_mail_interceptors_to_settings.rb +12 -0
- data/templates/lib/middleware/turbo_dev.rb +40 -0
- data/templates/lib/tasks/app.rake +3 -0
- data/templates/lib/tasks/db.rake +9 -0
- data/templates/schedule.rb +47 -0
- data/templates/vendor/assets/javascripts/modernizr.custom.js +3 -0
- metadata +37 -10
- data/templates/vendor/assets/javascripts/modernizr.js +0 -3
@@ -0,0 +1,91 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
Model.new(:db_backup, 'Backup for app database') do
|
4
|
+
RAILS_ENV = ENV.fetch('RAILS_ENV')
|
5
|
+
RAILS_ROOT = ENV.fetch('RAILS_ROOT')
|
6
|
+
|
7
|
+
##
|
8
|
+
# PostgreSQL [Database]
|
9
|
+
#
|
10
|
+
database PostgreSQL do |db|
|
11
|
+
DB = YAML.load_file("#{RAILS_ROOT}/config/database.yml")[RAILS_ENV]
|
12
|
+
# try to get RAILS_ENV variable,
|
13
|
+
# if it is not set, use 'production'
|
14
|
+
# env = ENV.fetch('RAILS_ENV'){'production'}
|
15
|
+
# To dump all databases, set `db.name = :all` (or leave blank)
|
16
|
+
db.name = DB['database']
|
17
|
+
db.username = DB['username']
|
18
|
+
db.password = DB['password']
|
19
|
+
db.host = DB['host']
|
20
|
+
db.port = 5432
|
21
|
+
# db.socket = "/tmp/pg.sock"
|
22
|
+
# When dumping all databases, `skip_tables` and `only_tables` are ignored.
|
23
|
+
# db.skip_tables = ["skip", "these", "tables"]
|
24
|
+
# db.only_tables = ["only", "these", "tables"]
|
25
|
+
db.additional_options = ["-xc", "-E=utf8"]
|
26
|
+
end
|
27
|
+
|
28
|
+
##
|
29
|
+
# Local (Copy) [Storage]
|
30
|
+
#
|
31
|
+
store_with Local do |local|
|
32
|
+
local.path = "~/backups/<%= app_name %>/#{RAILS_ENV}"
|
33
|
+
local.keep = 40
|
34
|
+
end
|
35
|
+
|
36
|
+
##
|
37
|
+
# Gzip [Compressor]
|
38
|
+
#
|
39
|
+
compress_with Gzip
|
40
|
+
|
41
|
+
##
|
42
|
+
# Archive [Archive]
|
43
|
+
#
|
44
|
+
# Adding a file or directory (including sub-directories):
|
45
|
+
# archive.add "/path/to/a/file.rb"
|
46
|
+
# archive.add "/path/to/a/directory/"
|
47
|
+
#
|
48
|
+
# Excluding a file or directory (including sub-directories):
|
49
|
+
# archive.exclude "/path/to/an/excluded_file.rb"
|
50
|
+
# archive.exclude "/path/to/an/excluded_directory
|
51
|
+
#
|
52
|
+
# By default, relative paths will be relative to the directory
|
53
|
+
# where `backup perform` is executed, and they will be expanded
|
54
|
+
# to the root of the filesystem when added to the archive.
|
55
|
+
#
|
56
|
+
# If a `root` path is set, relative paths will be relative to the
|
57
|
+
# given `root` path and will not be expanded when added to the archive.
|
58
|
+
#
|
59
|
+
# archive.root '/path/to/archive/root'
|
60
|
+
#
|
61
|
+
# archive :my_archive do |archive|
|
62
|
+
# Run the `tar` command using `sudo`
|
63
|
+
# archive.use_sudo
|
64
|
+
# archive.add "/path/to/a/file.rb"
|
65
|
+
# archive.add "/path/to/a/folder/"
|
66
|
+
# archive.exclude "/path/to/a/excluded_file.rb"
|
67
|
+
# archive.exclude "/path/to/a/excluded_folder"
|
68
|
+
# end
|
69
|
+
|
70
|
+
##
|
71
|
+
# Mail [Notifier]
|
72
|
+
#
|
73
|
+
# The default delivery method for Mail Notifiers is 'SMTP'.
|
74
|
+
# See the documentation for other delivery options.
|
75
|
+
#
|
76
|
+
# notify_by Mail do |mail|
|
77
|
+
# mail.on_success = true
|
78
|
+
# mail.on_warning = true
|
79
|
+
# mail.on_failure = true
|
80
|
+
#
|
81
|
+
# mail.from = "xxx@o2web.ca"
|
82
|
+
# mail.to = "xxx@o2web.ca"
|
83
|
+
# mail.address = "localhost"
|
84
|
+
# mail.port = 1025
|
85
|
+
# mail.domain = "xxx.xxx.xxx.xxx"
|
86
|
+
# mail.user_name = "xxx"
|
87
|
+
# mail.password = "xxx"
|
88
|
+
# mail.authentication = "plain"
|
89
|
+
# mail.encryption = :starttls
|
90
|
+
# end
|
91
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
# config valid only for current version of Capistrano
|
2
|
+
lock '3.4.0'
|
3
|
+
|
4
|
+
set :repo_url, 'git@git.todo.todo:todo/<%= app_name %>.git' # TODO: NEW_PROJECT
|
5
|
+
|
6
|
+
set :application, '<%= app_name %>'
|
7
|
+
set :ruby_version, IO.read("#{File.dirname(__FILE__)}/../.ruby-version").strip
|
8
|
+
set :admin_name, 'ubuntu'
|
9
|
+
set :deployer_name, 'deployer'
|
10
|
+
set :deploy_to, "/home/#{fetch(:deployer_name)}/#{fetch(:application)}/#{fetch(:stage)}"
|
11
|
+
|
12
|
+
set :rbenv_type, :user
|
13
|
+
set :rbenv_ruby, fetch(:ruby_version)
|
14
|
+
set :rbenv_prefix, "RBENV_ROOT=#{fetch(:rbenv_path)} RBENV_VERSION=#{fetch(:rbenv_ruby)} #{fetch(:rbenv_path)}/bin/rbenv exec"
|
15
|
+
set :rbenv_map_bins, %w{rake gem bundle ruby rails}
|
16
|
+
|
17
|
+
set :passenger_restart_with_sudo, false
|
18
|
+
set :passenger_restart_command, 'rbenv sudo passenger-config restart-app'
|
19
|
+
|
20
|
+
# default to %W[system]
|
21
|
+
<% if options.solidus? -%>
|
22
|
+
set :files_public_dirs, fetch(:files_public_dirs, []).push(*%W[
|
23
|
+
spree
|
24
|
+
])
|
25
|
+
<% else -%>
|
26
|
+
# set :files_public_dirs, fetch(:files_public_dirs, []).push(*%W[
|
27
|
+
# spree
|
28
|
+
# ])
|
29
|
+
<% end -%>
|
30
|
+
# default to []
|
31
|
+
# set :files_private_dirs, fetch(:files_private_dirs, []).push(*%W[
|
32
|
+
# ])
|
33
|
+
|
34
|
+
# set :nginx_workers, 1
|
35
|
+
# default to %W[assets system]
|
36
|
+
<% if options.solidus? -%>
|
37
|
+
set :nginx_assets_dirs, fetch(:nginx_assets_dirs, []).push(*%W[
|
38
|
+
spree
|
39
|
+
])
|
40
|
+
<% else -%>
|
41
|
+
# set :nginx_assets_dirs, fetch(:nginx_assets_dirs, []).push(*%W[
|
42
|
+
# spree
|
43
|
+
# ])
|
44
|
+
<% end -%>
|
45
|
+
# set :nginx_max_body_size, '10m'
|
46
|
+
|
47
|
+
set :pty, true
|
48
|
+
set :port, 22
|
49
|
+
|
50
|
+
set :linked_dirs, fetch(:linked_dirs, []).push(*%W[
|
51
|
+
log
|
52
|
+
tmp/pids
|
53
|
+
tmp/cache
|
54
|
+
tmp/sockets
|
55
|
+
private
|
56
|
+
public/assets
|
57
|
+
<% if options.solidus? -%>
|
58
|
+
public/spree
|
59
|
+
<% end -%>
|
60
|
+
public/system
|
61
|
+
vendor/bundle
|
62
|
+
])
|
63
|
+
|
64
|
+
# Default value for :linked_files is []
|
65
|
+
# set :linked_files, fetch(:linked_files, []).push(*%W[
|
66
|
+
# config/database.yml
|
67
|
+
# config/secrets.yml
|
68
|
+
# ])
|
69
|
+
|
70
|
+
# Default value for keep_releases is 5
|
71
|
+
# set :keep_releases, 5
|
72
|
+
|
73
|
+
set :whenever_identifier, ->{ "#{fetch(:application)}-#{fetch(:stage)}" }
|
74
|
+
|
75
|
+
namespace :deploy do
|
76
|
+
after :restart, :clear_cache do
|
77
|
+
on roles(:web), in: :groups, limit: 3, wait: 10 do
|
78
|
+
# Here we can do anything such as:
|
79
|
+
# within release_path do
|
80
|
+
# execute :rake, 'cache:clear'
|
81
|
+
# end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
after :deploy, :touch_cron_log do
|
86
|
+
on roles :app do
|
87
|
+
within shared_path do
|
88
|
+
execute :touch, 'log/cron.log'
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
set :stage, :production
|
2
|
+
set :branch, 'master'
|
3
|
+
|
4
|
+
# server-based syntax
|
5
|
+
# ======================
|
6
|
+
# Defines a single server with a list of roles and multiple properties.
|
7
|
+
# You can define all roles on a single server, or split them:
|
8
|
+
|
9
|
+
# server 'example.com', user: 'deploy', roles: %w{app db web}, my_property: :my_value
|
10
|
+
# server 'example.com', user: 'deploy', roles: %w{app web}, other_property: :other_value
|
11
|
+
# server 'db.example.com', user: 'deploy', roles: %w{db}
|
12
|
+
set :server, 'todo.todo' # TODO: NEW_PROJECT
|
13
|
+
server fetch(:server), user: fetch(:deployer_name), roles: %w[app web db]
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
# role-based syntax
|
18
|
+
# ==================
|
19
|
+
|
20
|
+
# Defines a role with one or multiple servers. The primary server in each
|
21
|
+
# group is considered to be the first unless any hosts have the primary
|
22
|
+
# property set. Specify the username and a domain or IP for the server.
|
23
|
+
# Don't use `:all`, it's a meta role.
|
24
|
+
|
25
|
+
# role :app, %w{deploy@example.com}, my_property: :my_value
|
26
|
+
# role :web, %w{user1@primary.com user2@additional.com}, other_property: :other_value
|
27
|
+
# role :db, %w{deploy@example.com}
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
# Configuration
|
32
|
+
# =============
|
33
|
+
# You can set any configuration variable like in config/deploy.rb
|
34
|
+
# These variables are then only loaded and set in this stage.
|
35
|
+
# For available Capistrano configuration variables see the documentation page.
|
36
|
+
# http://capistranorb.com/documentation/getting-started/configuration/
|
37
|
+
# Feel free to add new variables to customise your setup.
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
# Custom SSH Options
|
42
|
+
# ==================
|
43
|
+
# You may pass any option but keep in mind that net/ssh understands a
|
44
|
+
# limited set of options, consult the Net::SSH documentation.
|
45
|
+
# http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start
|
46
|
+
#
|
47
|
+
# Global options
|
48
|
+
# --------------
|
49
|
+
# set :ssh_options, {
|
50
|
+
# keys: %w(/home/rlisowski/.ssh/id_rsa),
|
51
|
+
# forward_agent: false,
|
52
|
+
# auth_methods: %w(password)
|
53
|
+
# }
|
54
|
+
#
|
55
|
+
# The server-based syntax can be used to override options:
|
56
|
+
# ------------------------------------
|
57
|
+
# server 'example.com',
|
58
|
+
# user: 'user_name',
|
59
|
+
# roles: %w{web app},
|
60
|
+
# ssh_options: {
|
61
|
+
# user: 'user_name', # overrides user setting above
|
62
|
+
# keys: %w(/home/user_name/.ssh/id_rsa),
|
63
|
+
# forward_agent: false,
|
64
|
+
# auth_methods: %w(publickey password)
|
65
|
+
# # password: 'please use keys'
|
66
|
+
# }
|
@@ -0,0 +1,66 @@
|
|
1
|
+
set :stage, :staging
|
2
|
+
set :branch, 'staging'
|
3
|
+
|
4
|
+
# server-based syntax
|
5
|
+
# ======================
|
6
|
+
# Defines a single server with a list of roles and multiple properties.
|
7
|
+
# You can define all roles on a single server, or split them:
|
8
|
+
|
9
|
+
# server 'example.com', user: 'deploy', roles: %w{app db web}, my_property: :my_value
|
10
|
+
# server 'example.com', user: 'deploy', roles: %w{app web}, other_property: :other_value
|
11
|
+
# server 'db.example.com', user: 'deploy', roles: %w{db}
|
12
|
+
set :server, 'todo.todo' # TODO: NEW_PROJECT
|
13
|
+
server fetch(:server), user: fetch(:deployer_name), roles: %w[app web db]
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
# role-based syntax
|
18
|
+
# ==================
|
19
|
+
|
20
|
+
# Defines a role with one or multiple servers. The primary server in each
|
21
|
+
# group is considered to be the first unless any hosts have the primary
|
22
|
+
# property set. Specify the username and a domain or IP for the server.
|
23
|
+
# Don't use `:all`, it's a meta role.
|
24
|
+
|
25
|
+
# role :app, %w{deploy@example.com}, my_property: :my_value
|
26
|
+
# role :web, %w{user1@primary.com user2@additional.com}, other_property: :other_value
|
27
|
+
# role :db, %w{deploy@example.com}
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
# Configuration
|
32
|
+
# =============
|
33
|
+
# You can set any configuration variable like in config/deploy.rb
|
34
|
+
# These variables are then only loaded and set in this stage.
|
35
|
+
# For available Capistrano configuration variables see the documentation page.
|
36
|
+
# http://capistranorb.com/documentation/getting-started/configuration/
|
37
|
+
# Feel free to add new variables to customise your setup.
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
# Custom SSH Options
|
42
|
+
# ==================
|
43
|
+
# You may pass any option but keep in mind that net/ssh understands a
|
44
|
+
# limited set of options, consult the Net::SSH documentation.
|
45
|
+
# http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start
|
46
|
+
#
|
47
|
+
# Global options
|
48
|
+
# --------------
|
49
|
+
# set :ssh_options, {
|
50
|
+
# keys: %w(/home/rlisowski/.ssh/id_rsa),
|
51
|
+
# forward_agent: false,
|
52
|
+
# auth_methods: %w(password)
|
53
|
+
# }
|
54
|
+
#
|
55
|
+
# The server-based syntax can be used to override options:
|
56
|
+
# ------------------------------------
|
57
|
+
# server 'example.com',
|
58
|
+
# user: 'user_name',
|
59
|
+
# roles: %w{web app},
|
60
|
+
# ssh_options: {
|
61
|
+
# user: 'user_name', # overrides user setting above
|
62
|
+
# keys: %w(/home/user_name/.ssh/id_rsa),
|
63
|
+
# forward_agent: false,
|
64
|
+
# auth_methods: %w(publickey password)
|
65
|
+
# # password: 'please use keys'
|
66
|
+
# }
|
@@ -0,0 +1,66 @@
|
|
1
|
+
set :stage, :vagrant
|
2
|
+
set :branch, 'vagrant'
|
3
|
+
|
4
|
+
set :admin_name, 'vagrant'
|
5
|
+
|
6
|
+
# server-based syntax
|
7
|
+
# ======================
|
8
|
+
# Defines a single server with a list of roles and multiple properties.
|
9
|
+
# You can define all roles on a single server, or split them:
|
10
|
+
|
11
|
+
# server 'example.com', user: 'deploy', roles: %w{app db web}, my_property: :my_value
|
12
|
+
# server 'example.com', user: 'deploy', roles: %w{app web}, other_property: :other_value
|
13
|
+
# server 'db.example.com', user: 'deploy', roles: %w{db}
|
14
|
+
set :server, "#{fetch(:application).dasherize}.dev"
|
15
|
+
server fetch(:server), user: fetch(:deployer_name), roles: %w[app web db]
|
16
|
+
|
17
|
+
# role-based syntax
|
18
|
+
# ==================
|
19
|
+
|
20
|
+
# Defines a role with one or multiple servers. The primary server in each
|
21
|
+
# group is considered to be the first unless any hosts have the primary
|
22
|
+
# property set. Specify the username and a domain or IP for the server.
|
23
|
+
# Don't use `:all`, it's a meta role.
|
24
|
+
|
25
|
+
# role :app, %w{deploy@example.com}, my_property: :my_value
|
26
|
+
# role :web, %w{user1@primary.com user2@additional.com}, other_property: :other_value
|
27
|
+
# role :db, %w{deploy@example.com}
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
# Configuration
|
32
|
+
# =============
|
33
|
+
# You can set any configuration variable like in config/deploy.rb
|
34
|
+
# These variables are then only loaded and set in this stage.
|
35
|
+
# For available Capistrano configuration variables see the documentation page.
|
36
|
+
# http://capistranorb.com/documentation/getting-started/configuration/
|
37
|
+
# Feel free to add new variables to customise your setup.
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
# Custom SSH Options
|
42
|
+
# ==================
|
43
|
+
# You may pass any option but keep in mind that net/ssh understands a
|
44
|
+
# limited set of options, consult the Net::SSH documentation.
|
45
|
+
# http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start
|
46
|
+
#
|
47
|
+
# Global options
|
48
|
+
# --------------
|
49
|
+
# set :ssh_options, {
|
50
|
+
# keys: %w(/home/rlisowski/.ssh/id_rsa),
|
51
|
+
# forward_agent: false,
|
52
|
+
# auth_methods: %w(password)
|
53
|
+
# }
|
54
|
+
#
|
55
|
+
# The server-based syntax can be used to override options:
|
56
|
+
# ------------------------------------
|
57
|
+
# server 'example.com',
|
58
|
+
# user: 'user_name',
|
59
|
+
# roles: %w{web app},
|
60
|
+
# ssh_options: {
|
61
|
+
# user: 'user_name', # overrides user setting above
|
62
|
+
# keys: %w(/home/user_name/.ssh/id_rsa),
|
63
|
+
# forward_agent: false,
|
64
|
+
# auth_methods: %w(publickey password)
|
65
|
+
# # password: 'please use keys'
|
66
|
+
# }
|
@@ -0,0 +1,21 @@
|
|
1
|
+
if (Rails.env.staging? || Rails.env.vagrant?)
|
2
|
+
options = {
|
3
|
+
forward_emails_to: Class.new do
|
4
|
+
def self.to_ary
|
5
|
+
Class.new do
|
6
|
+
def self.flatten
|
7
|
+
Class.new do
|
8
|
+
def self.uniq
|
9
|
+
Setting[:mail_interceptors].split(/[\s,;]/).reject(&:blank?)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
}
|
17
|
+
|
18
|
+
interceptor = MailInterceptor::Interceptor.new(options)
|
19
|
+
|
20
|
+
ActionMailer::Base.register_interceptor(interceptor)
|
21
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
##
|
2
|
+
# You should look at the following URL's in order to grasp a solid understanding
|
3
|
+
# of Nginx configuration files in order to fully unleash the power of Nginx.
|
4
|
+
# http://wiki.nginx.org/Pitfalls
|
5
|
+
# http://wiki.nginx.org/QuickStart
|
6
|
+
# http://wiki.nginx.org/Configuration
|
7
|
+
#
|
8
|
+
# Generally, you will want to move this file somewhere, and start with a clean
|
9
|
+
# file but keep this around for reference. Or just disable in sites-enabled.
|
10
|
+
#
|
11
|
+
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
|
12
|
+
##
|
13
|
+
|
14
|
+
# Default server configuration
|
15
|
+
#
|
16
|
+
server {
|
17
|
+
listen 80 default_server;
|
18
|
+
listen [::]:80 default_server ipv6only=on;
|
19
|
+
|
20
|
+
# SSL configuration
|
21
|
+
#
|
22
|
+
# listen 443 ssl default_server;
|
23
|
+
# listen [::]:443 ssl default_server;
|
24
|
+
#
|
25
|
+
# Self signed certs generated by the ssl-cert package
|
26
|
+
# Don't use them in a production server!
|
27
|
+
#
|
28
|
+
# include snippets/snakeoil.conf;
|
29
|
+
|
30
|
+
server_name <%= fetch(:server) %>;
|
31
|
+
passenger_enabled on;
|
32
|
+
rails_env <%= fetch(:stage) %>;
|
33
|
+
root <%= fetch(:deploy_to) %>/current/public;
|
34
|
+
|
35
|
+
<% if fetch(:stage) == :production %>
|
36
|
+
# listen 443 ssl;
|
37
|
+
# ssl_certificate /etc/ssl/certs/<%= fetch(:server) %>.chained.crt;
|
38
|
+
# ssl_certificate_key /etc/ssl/private/<%= fetch(:server) %>.key;
|
39
|
+
<% end %>
|
40
|
+
|
41
|
+
client_max_body_size <%= fetch(:nginx_max_body_size) %>;
|
42
|
+
|
43
|
+
error_page 500 502 503 504 /50x.html;
|
44
|
+
location = /50x.html {
|
45
|
+
root html;
|
46
|
+
}
|
47
|
+
|
48
|
+
# TODO: it doesn't work
|
49
|
+
# location ~ ^/(<%= fetch(:nginx_assets_dirs).join('|') %>)/ {
|
50
|
+
# root <%= fetch(:deploy_to) %>/current/public;
|
51
|
+
# gzip_static on;
|
52
|
+
# expires max;
|
53
|
+
# add_header Cache-Control public;
|
54
|
+
# break;
|
55
|
+
# }
|
56
|
+
}
|
57
|
+
|
58
|
+
server {
|
59
|
+
listen 80;
|
60
|
+
|
61
|
+
server_name www.<%= fetch(:server) %>;
|
62
|
+
return 301 $scheme://<%= fetch(:server) %>$request_uri;
|
63
|
+
}
|
64
|
+
|
65
|
+
# Virtual Host configuration for example.com
|
66
|
+
#
|
67
|
+
# You can move that to a different file under sites-available/ and symlink that
|
68
|
+
# to sites-enabled/ to enable it.
|
69
|
+
#
|
70
|
+
#server {
|
71
|
+
# listen 80;
|
72
|
+
# listen [::]:80;
|
73
|
+
#
|
74
|
+
# server_name example.com;
|
75
|
+
#
|
76
|
+
# root /var/www/example.com;
|
77
|
+
# index index.html;
|
78
|
+
#
|
79
|
+
# location / {
|
80
|
+
# try_files $uri $uri/ =404;
|
81
|
+
# }
|
82
|
+
#}
|