Skip to main content
Microsoft
separator
https://catalogartifact.azureedge.net/publicartifacts/cloudimg1647283583153.ruby-3-ubuntu-24-04-07446cec-79ca-4bb3-af1c-0309e272d9d1/image1_logolarge.png

Ruby 3.4 with Rails 8 Ubuntu 24.04

by cloudimg

Ruby 3.4 with Rails 8 on Ubuntu 24.04 LTS by cloudimg

Ruby 3.4 with Rails 8 on Ubuntu 24.04 LTS by cloudimg

Pre configured Ruby 3.4 with Rails 8.0 on Ubuntu 24.04 LTS, purpose built for Microsoft Azure and maintained by cloudimg. Production stack with Puma 6 as the Rails app server bound to a Unix socket, nginx as reverse proxy and asset server, and PostgreSQL 16 as the default database. Ships with a cloudimg starter Rails project including a scaffolded Article model so the root path serves a working CRUD UI within seconds of first boot.

Why Choose cloudimg?

  • 24/7 Expert Support Guaranteed 24 hour response, one hour average for critical issues. support@cloudimg.co.uk
  • Production Ready from Launch Pre configured, security patched, validated before publication
  • Azure Native Integration Azure Linux Agent, cloud init, Gen2 Hyper V with UEFI boot
  • Per VM Auth Wall SECRET_KEY_BASE (64 hex), DB password (32 hex), and Admin password (32 hex) all rotated at first boot, written to /stage/scripts/rails-credentials.log mode 0600 root only

What is Included

  • Ruby 3.4 from the Brightbox PPA ppa:brightbox/ruby-ng (canonical modern Ruby PPA for Ubuntu LTS)
  • Bundler 2.6 + Rails 8.0 installed system wide via gem install
  • Pre created cloudimg starter Rails project at /opt/rails/cloudimg with a scaffolded Article model (title, body) so / and /articles serve a working CRUD UI immediately
  • Simple Admin model with has_secure_password (bcrypt) seeded with the per VM admin user at first boot
  • Puma 6 as Rails app server bound to a Unix socket at /run/puma/cloudimg.sock with env driven workers and threads
  • nginx as reverse proxy on TCP 80 and asset server for /assets/ from public/assets/
  • PostgreSQL 16 from Ubuntu noble main, pre provisioned with a cloudimg role and cloudimg_production database
  • libpq-dev for the pg gem and Node.js for asset compilation
  • RAILS_ENV=production, RAILS_LOG_TO_STDOUT=true, RAILS_SERVE_STATIC_FILES=true, DATABASE_URL driven from /etc/rails/cloudimg.env
  • Three systemd units: puma.service, nginx.service, postgresql.service plus rails-firstboot.service that rotates secrets, creates the postgres role and DB, runs db:migrate and assets:precompile, and seeds the admin user
  • The puma unit wraps ExecStart in /bin/bash -c so env defaults like ${PUMA_WORKERS:-2} expand correctly at runtime (systemd does not expand bash defaults under raw Exec lines)
  • Ubuntu 24.04 LTS base with latest security patches at build time

Use Cases

  • Internal Rails applications and admin dashboards
  • SaaS backends behind a load balancer or Azure Application Gateway
  • CRUD APIs and JSON services using Action Controller or the Rails 8 API mode
  • Migration target for legacy Rails 6 or Rails 7 applications onto a current LTS Ruby + Rails stack
  • Fresh starting point for greenfield Rails 8 projects with PostgreSQL 16 already wired

Getting Started

1. Deploy from the Azure Marketplace

2. SSH as azureuser, sudo cat /stage/scripts/rails-credentials.log for the URL and admin password

3. Browse to http://your-public-ip/ and the Articles index renders immediately

4. Browse to http://your-public-ip/articles to create, read, update and delete records

5. Restrict NSG inbound on 80 to trusted IPs

6. Drop your Rails app into /opt/rails/cloudimg or replace the starter project with your own

7. Tune /etc/rails/cloudimg.env for SECRET_KEY_BASE, DATABASE_URL, PUMA_WORKERS, PUMA_THREADS_MIN, PUMA_THREADS_MAX

Visit www.cloudimg.co.uk/guides/ruby-3-on-ubuntu-24-04-azure for the full user guide.

Ruby on Rails is a registered trademark of David Heinemeier Hansson. This image is a repackaged upstream distribution provided by cloudimg. Additional charges apply for build, maintenance, and 24/7 support.

At a glance

https://catalogartifact.azureedge.net/publicartifacts/cloudimg1647283583153.ruby-3-ubuntu-24-04-07446cec-79ca-4bb3-af1c-0309e272d9d1/image5_screenshot01.png
https://catalogartifact.azureedge.net/publicartifacts/cloudimg1647283583153.ruby-3-ubuntu-24-04-07446cec-79ca-4bb3-af1c-0309e272d9d1/image7_screenshot02.png
https://catalogartifact.azureedge.net/publicartifacts/cloudimg1647283583153.ruby-3-ubuntu-24-04-07446cec-79ca-4bb3-af1c-0309e272d9d1/image6_screenshot03.png
https://catalogartifact.azureedge.net/publicartifacts/cloudimg1647283583153.ruby-3-ubuntu-24-04-07446cec-79ca-4bb3-af1c-0309e272d9d1/image3_screenshot04.png
English (United States)
Your Privacy Choices Opt-Out Icon Your Privacy Choices
Consumer Health Privacy Sitemap Contact Us Privacy & Cookies Terms of Use About our ads Manage cookies