$65 book with code
Deployment from Scratch book cover

Deploying a typical database-backed Ruby on Rails application with Action Cable

Deploying a typical Ruby on Rails application is a basic example of provisioning and administration of a single server Rails application backed by local PostgreSQL and Redis databases.

The demo doesn't expose the database to the outside world but rather depends on SSH tunneling for manual access. A local disk is used for storage.

What you'll learn

  • Setting up a git-push deployment for Ruby applications
  • Using chruby to automate installing requested Ruby versions
  • Configuring NGINX as a proxy using UNIX sockets
  • Setting up systemd socket activation for graceful restarts
  • Configuring NGINX to serve static assets
  • Configuring NGINX to proxy WebSockets connections for Action Cable
  • Automatic SSL/TLS certificates with Let's Encrypt
  • Redirecting HTTP traffic and subdomains to main domain over HTTPS
  • Running PostgreSQL and Redis on the same server
  • Building custom SELinux module
  • Configuring firewall
  • Setting up automatic weekly system update
  • Setting up log rotation for NGINX and PostgreSQL logs and max limit for system log
  • Doing application backups and restores
  • Creating admin tasks

Configuration options

SERVER Virtual machine IP address
SERVER_NAME Domain name for HTTPS certificates
EMAIL E-mail address for Let's encrypt certificates
SSH_KEY Path to the SSH private key
APP_NAME Application name (without spaces and weird characters)
RAILS_ENV Rails environment
RUBY_VERSION Ruby version to pre-install
Buy now
Book with code for $65 + local tax