Add to Gemfile
:
gem 'puma'
gem 'god'
Run in app folder:
bundle install
# this monit config goes in /etc/monit/conf.d | |
check process puma_master | |
with pidfile /data/myapp/current/tmp/puma.pid | |
start program = "/etc/monit/scripts/puma start" | |
stop program = "/etc/monit/scripts/puma stop" | |
group myapp | |
check process puma_worker_0 | |
with pidfile /data/myapp/current/tmp/puma_worker_0.pid |
require 'mina/rails' | |
require 'mina/git' | |
require 'mina/rbenv' # for rbenv support. (https://rbenv.org) | |
# require 'mina/rvm' # for rvm support. (https://rvm.io) | |
set :application_name, 'my_app' | |
set :domain, 'my_server' | |
set :deploy_to, '/home/rails/my_app' | |
set :repository, '[email protected]:my_user/my_app.git' | |
set :branch, 'master' |
#!/bin/sh | |
set -e | |
if [ -e /.installed ]; then | |
echo 'Already installed.' | |
else | |
echo '' | |
echo 'INSTALLING' | |
echo '----------' |
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
$script = <<SCRIPT | |
set -e | |
set -x | |
cd | |
sudo apt-get update -y | |
sudo apt-get install \ |
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
RUBY_V = File.open("./.ruby-version") { |f| f.read }.chomp | |
$apt_script = <<SCRIPT | |
sudo apt-get update | |
sudo apt-get install -y git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev libmysqlclient-dev | |
SCRIPT |
class ExcitementValidator < ActiveModel::EachValidator | |
def validate_each(record, attribute, value) | |
unless value =~ /.*!/ | |
record.errors.add attribute, (options[:message] || "must end with an exclamation point") | |
end | |
end | |
end |
# This is a skeleton for testing models including examples of validations, callbacks, | |
# scopes, instance & class methods, associations, and more. | |
# Pick and choose what you want, as all models don't NEED to be tested at this depth. | |
# | |
# I'm always eager to hear new tips & suggestions as I'm still new to testing, | |
# so if you have any, please share! | |
# | |
# @kyletcarlson | |
# | |
# This skeleton also assumes you're using the following gems: |
#!/bin/sh | |
sudo apt-get purge -y maven | |
if ! [ -e .semaphore-cache/apache-maven-3.3.3-bin.tar.gz ]; then (cd .semaphore-cache; curl -OL http://mirror.olnevhost.net/pub/apache/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz); fi | |
sudo tar -zxf .semaphore-cache/apache-maven-3.3.3-bin.tar.gz -C /usr/local/ | |
sudo ln -s /usr/local/apache-maven-3.3.3/bin/mvn /usr/bin/mvn | |
echo "export M2_HOME=/usr/local/apache-maven-3.3.3" >> ~/.profile | |
. ~/.profile | |
echo "Maven is on version `mvn -v`" |
# SSL self signed localhost for rails start to finish, no red warnings. | |
# 1) Create your private key (any password will do, we remove it below) | |
$ openssl genrsa -des3 -out server.orig.key 2048 | |
# 2) Remove the password | |
$ openssl rsa -in server.orig.key -out server.key |