Deploying a static website

Deploying a static website is a basic example of provisioning and deployment of a static website on a single server.

The demo comes with automatic SSL/TLS certificates issued by Let's Encrypt and automatic system updates.

What you'll learn

  • Serving HTTPS content with NGINX
  • Setting up TLS certificates with Let's Encrypt
  • Rootless administration
  • Running firewalld
  • Automatic system updates and certificates renewals

Configuration options

SERVER Virtual machine public IP
SERVER_NAME Domain name (with correct DNS settings)
EMAIL Email for Let's Encrypt registration
SSH_KEY Path to the private SSH key
SITE_USER Name for the user that will replace root for administration
Buy book + code for $50
Rated 36x five stars
Gumroad (as of Aug 3, 2023)
I am using some scripts I downloaded from Josef Strzibny's book that are setting up Ruby on Rails deployment and automatically installing a PostgreSQL server. I am also using Dokku, but I like the idea of controlling what is happening on the server.
Lucian Ghinda, Senior Ruby Developer

Code to get you started

A static website

A static website with automatic Let's Encrypt certificates and system updates. A separate configuration and rootless deployment script.

Add server-side analytics and beat the pricing of hosted solutions.

A database-backed Ruby on Rails application
with Action Cable

A single server running a full-featured web application with UNIX sockets, PostgreSQL ident system authentication, Web Sockets, and Let's Encrypt certificates. A git-push deployment with helpful administration scripts for connecting to the server or handeling file and database backups.

Adjust for your application based on the knowledge from the book. Deploy within the same day!

A standalone PostgreSQL server

A self-sufficient PostgreSQL cluster demo with automatic system upgrades, log rotation, and TLS. Scripts for cluster-wide backups and restores.

Run a standalone database when you need more power or to host all your projects' databases in one place.

All demonstrations are scripted in Bash for RHEL 8 compatible systems such as Rocky Linux 8.

You don't need any knowledge of typical configuration management tools. Learn how everything works without abstractions and indirection.