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
Not ready to buy? Sign up for updates