Ruby on Rails
Ruby on Rails
  • 72
  • 632 753
Deploying with Kamal 2.0 | Rails 8 Unpacked
Ready to ship your Rails app to production? Rails 8 comes preconfigured with Kamal 2 for deploying your application anywhere - to a cloud VM or your own hardware. In the final video of our Rails 8 Unpacked series, @typecraft_dev shows you how to leverage Kamal to provision a server, configure deployment, and go live on a DigitalOcean droplet using Docker, 1Password for secure credentials, and SQLite for caching and queuing.
Follow along in the demo app on GitHub: github.com/typecraft-dev/the-life-planner/tree/ep-5-kamal-deploy
And discover all the major new features of Rails 8 on the Rails blog: rubyonrails.org/2024/11/7/rails-8-no-paas-required
More about Kamal 2.0: kamal-deploy.org/
**
Learn more about Rails at: rubyonrails.org/
Subtitles (Japanese, Spanish, and Brazilian Portuguese) thanks to Happy Scribe, a transcription service built on Rails. www.happyscribe.com/
#RubyonRails #Rails8 #Kamal #webdevelopment #deployment
Переглядів: 4 420

Відео

Inside the default Dockerfile | Rails 8 Unpacked
Переглядів 2,7 тис.Місяць тому
Rails 8’s default Dockerfile is production-ready, making it easier than ever to package and deploy your applications. In this video, @typecraft_dev breaks down the Rails 8 Dockerfile line by line, showcasing how it simplifies creating efficient, containerized applications. Check out the GitHub repo to explore the Dockerfile yourself: github.com/typecraft-dev/the-life-planner And discover all th...
Simplifying asset management with Propshaft | Rails 8 Unpacked
Переглядів 4,3 тис.Місяць тому
Learn how to streamline asset management in your Rails 8 app using the new default asset manager, Propshaft. @typecraft_dev shows how Propshaft simplifies handling static assets like images, JavaScript, and CSS, with features like file hashing and cache busting, making your app faster and easier to maintain. Follow along in the GitHub repo for this demo app: github.com/typecraft-dev/the-life-pl...
Manage asynchronous tasks with Solid Queue | Rails 8 Unpacked
Переглядів 3,4 тис.Місяць тому
In this video, @typecraft_dev explores how to manage asynchronous tasks in Rails 8 using Solid Queue without relying on Redis or additional dependencies. This reduces complexity, cuts costs, and simplifies your app’s infrastructure, and it all comes default with Rails 8. Check out the GitHub repo to follow along: github.com/typecraft-dev/the-life-planner/tree/ep-4-solid-queue And read the Activ...
Rails 8 Unpacked with Typecraft
Переглядів 10 тис.Місяць тому
Welcome to Rails 8 Unpacked, a series where @typecraft_dev explores all of the powerful new features of Rails 8 by building a task management app from scratch. We'll cover the new authentication generator, Propshaft for asset management, the Solid Trifecta for caching, real-time messaging, and job queueing, and finally: deploying your app easily with Kamal 2.0. Follow along with the GitHub repo...
Introducing the Solid Trifecta | Rails 8 Unpacked
Переглядів 2,7 тис.Місяць тому
What is the "Solid Trifecta" in Rails 8? Glad you asked. The Solid Trifecta is a set of database adapters in Rails 8 that simplifies app development by replacing traditional RAM-based solutions like Redis with efficient, cost-effective database-backed tools. Solid Cable handles WebSocket messages, Solid Cache powers caching, and Solid Queue manages job queues, all using databases like MySQL, Po...
Securing your app with the default Authentication Generator | Rails 8 Unpacked
Переглядів 8 тис.Місяць тому
Learn how to add authentication to your Rails 8 app with the new built-in Authentication Generator, shipped as a default starting in Rails 8.0. @typecraft_dev walks you through how the generator spins up everything you need: models, controllers, mailers, and concerns, leaving only the sign-up flow to you to tailor to your app's needs. Follow along in the GitHub repo for this demo app: github.co...
Easy caching with Solid Cache | Rails 8 Unpacked
Переглядів 2,3 тис.Місяць тому
Rails 8's Solid Cache uses affordable NVMe drives for caching, offering much more storage than RAM at a lower cost. This reduces cache misses, boosts performance, and eliminates the need for Redis, simplifying your stack. In this episode of Rails 8 Unpacked,@typecraft_dev demonstrates how Solid Cache speeds up a Rails app, cuts infrastructure costs, and enhances performance. You can find the de...
Real-time messaging with Solid Cable | Rails 8 Unpacked
Переглядів 3,2 тис.Місяць тому
With Rails 8’s Solid Cable, real-time WebSocket updates are simpler than ever. By using your existing database, you can drop Redis as a dependency, streamline your stack, cut costs, and maintain high performance. In this video, @typecraft_dev shows how to add chat functionality to a Rails app with Action Cable and Solid Cable, enabling real-time updates across clients with minimal code. Check o...
Rails 8: The Demo
Переглядів 43 тис.2 місяці тому
Get started with Rails 8 by building a basic blog, adding a WYSIWYG editor, putting it behind authentication, making it available as PWA, and deploying to production. Read all about Rails 8's features at: rubyonrails.org/2024/11/7/rails-8-no-paas-required #rails #rubyonrails #rails8
Kevin McConnell - Introducing Kamal Proxy - Rails World 2024
Переглядів 8652 місяці тому
Kamal Proxy is a new, purpose-built HTTP proxy service that powers Kamal 2.0. It is designed to make zero-downtime deployments simpler, and comes with additional features to make your Rails applications faster and easier to operate. Kevin McConnell explains what Kamal Proxy does, why they built it, and how it works in his talk at #RailsWorld. #Kamalproxy #kamal2 #rails #rubyonrails #rails8 Than...
Donal McBreen - Kamal 2.0: Deploy web apps anywhere - Rails World 2024
Переглядів 1,9 тис.2 місяці тому
Kamal is an imperative deployment tool from 37signals for running your apps with Docker. Donal McBreen, from the Security, Infrastructure and Performance team at 37signals will run through how it works, what they've learned from v1.0 and the changes they've made for v2.0 at his talk at #RailsWorld. #Kamal2 #rails #rubyonrails #deployment #Rails8 Thank you Shopify for sponsoring the editing and ...
Jenny Shen - An upgrade handbook to Rails 8 - Rails World 2024
Переглядів 2,6 тис.2 місяці тому
Rails 8 is here, and in her talk at #RailsWorld, Jenny Shen explores how to get your Rails app upgraded to the latest version in no time! Have too many applications to upgrade? She will also share how Shopify was able to automate the Rails upgrade process for hundreds of their applications. #Rails #Rails8 #rubyonrails #upgrade Thank you Shopify for sponsoring the editing and post-production of ...
Miles McGuire - Making the best of a bad situation - Rails World 2024
Переглядів 5492 місяці тому
Incidents are an opportunity to level up, and on 22 Feb 2024 Intercom had one of its most painful outages in recent memory. The root cause? A 32-bit foreign key referencing a 64-bit primary key. Miles McGuire shared what happened, why it happened, and what they are doing to ensure it won't happen again (including some changes you can make to your own Rails apps to help make sure you don’t make ...
Rafael França - Frontiers of development productivity in Rails - Rails World 2024
Переглядів 8832 місяці тому
Rails is known to be one of the best frameworks in terms of empowering developers to build great products, and has kept this place for 20 years. But...can we do better? In his talk at #RailsWorld, Rails Core member Rafael França shows how they are pushing Rails to continue making developers lives easier across new frontiers. #RubyonRails #Rails #Rails8 #productivity #devcontainers #lsp #develop...
Obie Fernandez - Empowering the Individual: Rails on AI - Rails World 2024
Переглядів 1 тис.2 місяці тому
Obie Fernandez - Empowering the Individual: Rails on AI - Rails World 2024
Xavier Noria - The Rails Boot Process - Rails World 2024
Переглядів 4832 місяці тому
Xavier Noria - The Rails Boot Process - Rails World 2024
Stephen Margheim - SQLite on Rails: Supercharging the One-Person Framework - Rails World 2024
Переглядів 1,3 тис.2 місяці тому
Stephen Margheim - SQLite on Rails: Supercharging the One-Person Framework - Rails World 2024
Bruno Prieto - Making accessible web apps with Rails and Hotwire - Rails World 2024
Переглядів 5022 місяці тому
Bruno Prieto - Making accessible web apps with Rails and Hotwire - Rails World 2024
David Henner - Level up performance with simple coding changes - Rails World 2024
Переглядів 9212 місяці тому
David Henner - Level up performance with simple coding changes - Rails World 2024
Robby Russell - Prepare to tack: Steering Rails apps out of technical debt - Rails World 2024
Переглядів 1,5 тис.2 місяці тому
Robby Russell - Prepare to tack: Steering Rails apps out of technical debt - Rails World 2024
Mostafa Abdelraouf - Going beyond a Single Postgres Instance with Rails - Rails World 2024
Переглядів 1,3 тис.2 місяці тому
Mostafa Abdelraouf - Going beyond a Single Postgres Instance with Rails - Rails World 2024
Julia López - Testing Integrations: The Good, the Bad, and the Ugly - Rails World 2024
Переглядів 1 тис.2 місяці тому
Julia López - Testing Integrations: The Good, the Bad, and the Ugly - Rails World 2024
Jamis Buck - Repurposing the Rails CLI - Rails World 2024
Переглядів 5532 місяці тому
Jamis Buck - Repurposing the Rails CLI - Rails World 2024
Greg Molnar - The state of security in Rails 8 - Rails World 2024
Переглядів 1,1 тис.2 місяці тому
Greg Molnar - The state of security in Rails 8 - Rails World 2024
Rosa Gutiérrez - Solid Queue internals, externals and all the things in between - Rails World 2024
Переглядів 1,2 тис.2 місяці тому
Rosa Gutiérrez - Solid Queue internals, externals and all the things in between - Rails World 2024
Emmanuel Hayford - Progressive Web Apps for Rails developers - Rails World 2024
Переглядів 1,2 тис.2 місяці тому
Emmanuel Hayford - Progressive Web Apps for Rails developers - Rails World 2024
Justin Searls - The Empowered Programmer - Rails World 2024
Переглядів 1 тис.2 місяці тому
Justin Searls - The Empowered Programmer - Rails World 2024
Ridhwana Khan - Demystifying some of the magic behind Rails - Rails World 2024
Переглядів 7202 місяці тому
Ridhwana Khan - Demystifying some of the magic behind Rails - Rails World 2024
Andrea Fomera - Pushing the boundaries with ActiveStorage - Rails World 2024
Переглядів 1,2 тис.2 місяці тому
Andrea Fomera - Pushing the boundaries with ActiveStorage - Rails World 2024

КОМЕНТАРІ

  • @patrickfeeney4180
    @patrickfeeney4180 2 години тому

    It'd be good if the videos on this playlist were actually in order...

    • @railsofficial
      @railsofficial Годину тому

      Sorry about that! Looks like UA-cam was sorting them by popularity. The order is fixed now.

  • @Chomizz
    @Chomizz День тому

    It's working great thanks !

  • @shamim083
    @shamim083 2 дні тому

    Just wow. But did anyone use it for large project yet?

  • @shamim083
    @shamim083 2 дні тому

    Yeah. Rails 8 is giving so many things by default. I wish they included activeadmin by default as well.

  • @MianGG-c
    @MianGG-c 2 дні тому

    HMMM,,,,, not good, made my life a lil more harder

  • @shamim083
    @shamim083 3 дні тому

    Sorry folks, i had to manually added the migration for solid_cable_messages and solid_cable_entries. Otherwise I was getting table not found error. Now everything works as this great man said. Thank you very much.

  • @MichaelGame_Dev
    @MichaelGame_Dev 6 днів тому

    As someone who's trying to go through this, I have no idea what I should do before this? I know I need to create a new rails 8 app, but what options am I selecting? What steps am I taking before this? I will download the github zip, but it would be nice to know the steps between what's happening in this episode and rails new. Edit: I am curious why postgresql over sqlite? Edit 2: apparently the repo branches aren't quite right, it appears the episode 1 one already has this stuff

    • @patrickfeeney4180
      @patrickfeeney4180 15 годин тому

      do you still need the emtpy repo? You can click on 'commits' and choose the first one. That will have the very beginning!

    • @MichaelGame_Dev
      @MichaelGame_Dev 14 годин тому

      ​@@patrickfeeney4180 I don't believe the beginning helps, I don't know what commands were ran, maybe the commands run here were the first ones, but it doesn't really help me as someone new to rails. I don't know what they have changed in the default setup and it's a lot to try to take in from git commits. I'm sure this is all good for people that have experience with previous rails versions, but I guess I'll have to go work through the example in the rails guide then maybe see more about some of this stuff. I just find it frustrating as it was pitched a bit differently in the first video imo.

    • @patrickfeeney4180
      @patrickfeeney4180 14 годин тому

      @@MichaelGame_Dev yeah it's definitely not an intro to rails. It's an intro to the new features that rails 8 brings.

  • @KyleFox007
    @KyleFox007 6 днів тому

    Unless I'm mistaken, the simpler migration suggested at 10:32 is actually incorrect. The first approach adds `users.group_id` and `tasks.group_id` foreign keys, indicating users and tasks belong to groups (correct). However with the second approach, adding `user:references` and `task:references` to the CLI when generating the group model will add `groups.user_id` and `groups.task_id` foreign keys, indicating a group belongs to a user and a task (incorrect).

    • @patrickfeeney4180
      @patrickfeeney4180 15 годин тому

      fucks sake youre right. That just happened to me. I had to add the Group reference to users and tasks, and then remove the existing user_id and task_id from groups...not great

  • @Tomusicful
    @Tomusicful 7 днів тому

    I wish there was an equivalent of this Rails 8 Unpacked series for upgrading from Rails 7.x to Rails 8.x and migrating from let's say Heroku to DO using Kamal 2. I'm struggling real bad

  • @eayurt
    @eayurt 7 днів тому

    Thank you man. It's a great introduction for Solid Queue.

  • @a79rtur
    @a79rtur 8 днів тому

    do I need to have docker installed on my local machine to use Kamal ?

  • @devinlounge
    @devinlounge 10 днів тому

    You forgot to mention that its possible over console... jobs! Its amazing!

  • @riittap9121
    @riittap9121 10 днів тому

    Love this content! I'm just about to take a university course on Ruby on Rails. I'm only 20+ minutes to the video and I have already seen the light and become a believer!

  • @robertxworld
    @robertxworld 10 днів тому

    SWEET SWEET SAAS MONEY

  • @rjkush17
    @rjkush17 11 днів тому

    i got error for solid queue DB not config in my basic application

  • @Dudu2431996
    @Dudu2431996 11 днів тому

    This is exactly what I was looking for. I was handling the broadcast myself, but now I believe I can do it properly

  • @wbjxfkwsklejfde34d
    @wbjxfkwsklejfde34d 11 днів тому

    It's awkward that its cheaper to host on heroku than on a little vps on DO with managed DB. Obvs, as it scales its going to quickly be more expensive. but that initial choice when its a side project is annoying. pay more, lose all the heroku features.

  • @wbjxfkwsklejfde34d
    @wbjxfkwsklejfde34d 11 днів тому

    first hurdle: deploy.yml doesnt exist.

    • @wbjxfkwsklejfde34d
      @wbjxfkwsklejfde34d 11 днів тому

      .. because my app was a rails 7 that i updated. the update process didnt include adding kamal. so i created a demo rails 8 and copied all the docker & kamal stuff over

  • @dyeprey
    @dyeprey 11 днів тому

    thanks. question: whats the point of setting the DB_HOST in kamal secret?

  • @snailprogrammer7483
    @snailprogrammer7483 11 днів тому

    You and NetworkChuck twins? You guys act so similar! Awesome video! I’ve been attempting to build a website project as a beginner for many months using either Rails or Django. (I have started, deleted and restarted the project so many times) I think I’m gonna use Rails. Even though I’m in school for Python and Software Engineering

  • @junioraos4074
    @junioraos4074 12 днів тому

    Pretty neat, as he said!

  • @ImOnAGoat91
    @ImOnAGoat91 13 днів тому

    would love a written tutorial to follow along (and feed to our AI overlords)

  • @patrickfeeney4180
    @patrickfeeney4180 14 днів тому

    We should get more videos like these!

  • @vmrocha
    @vmrocha 14 днів тому

    This thing is hard as hell!

  • @snailprogrammer7483
    @snailprogrammer7483 14 днів тому

    I’m learning Rails and also AWS. People say that AWS “locks” you in. Do you think it’s worth it to use and learn AWS to deploy a Rails app? Previously I played around with deploy Django to Linode (far cheaper than AWS)

  • @CristoferJimenez-gk1ky
    @CristoferJimenez-gk1ky 15 днів тому

    Has anyone found a tutorial to get this working in production ? Or have they gotten it to work ? Will be trying to get it figured out over the next few days

  • @ketimcoder
    @ketimcoder 16 днів тому

    What! I never expected to find you here instead of typecraft!

  • @ТимофейЕжов-ш6н
    @ТимофейЕжов-ш6н 17 днів тому

    Too much of abstractions...

  • @edu28811
    @edu28811 17 днів тому

    Great video! Thank you Typecraft

  • @guled669
    @guled669 18 днів тому

    Til this day, I'm fascinated by 37signals, the books the software with quality that they produce in a very short period of time. I work in it-field and it's mindblowing

  • @drewcoowoohoo
    @drewcoowoohoo 21 день тому

    There is no reason to switch languages when migrating from a monolith. Individual services are easier to test, faster and more completely. All of the cons to "microservices" (really SOA, generally) seem to really be "we don't know how to design this." One of the cons of modular monoliths should be "extra overhead from packwerk or similar." Also, they don't even solve the insulation problem - tight coupling can still exist - at least with separate services that own their own data stores, there are no "hidden APIs" with different readers and writers from/to the same store. Modular monoliths seem like a half-assed non-solution in search of organizational problems.

  • @newassembler
    @newassembler 21 день тому

    I just love both Ruby and Ruby on rails, Matz has Really beautiful soul as DHH

  • @holden8831
    @holden8831 22 дні тому

    21:42 is one of the craziest things I've seen in a while

  • @everson_vinicius
    @everson_vinicius 22 дні тому

    excelent!

  • @DustinKrejci
    @DustinKrejci 23 дні тому

    This... 😮

  • @FarazNoor-k4b
    @FarazNoor-k4b 23 дні тому

    is this available as a Gem. or Can we see the code doing this for reference.

  • @tradesmanhelix
    @tradesmanhelix 24 дні тому

    Super helpful, thanks! FWIW, it's important to layer some security on this so you're not accidentally broadcasting to all users of the app. This tutorial is what I used: www.hotrails.dev/turbo-rails/turbo-streams-security

  • @ImaginaryNumb3r
    @ImaginaryNumb3r 25 днів тому

    The talk is a nothing burger. If you conflate logical boundaries with physical boundaries, it doesn't matter if you have a distributed deployment or a centralized one. Do DDD, try to understand your domain, don't be a code monkey and have investment in your decisions. If you don't give a F* and just wanna get paid it doesn't matter what you do, it will turn horrible anyway.

  • @gauntleteer
    @gauntleteer 25 днів тому

    This is the first I've heard of Typecraft, and he's an incredible spokesperson here because he's showing us how Rails 8 sells itself. I don't think I've been this stoked to upgrade my Rails app in a long time. Also, the editing of these videos must have taken forever, but it works so well-great job!

  • @seNick7
    @seNick7 25 днів тому

    The talk is good and you can tell she has a lot of experience. But... I disagree that architecture doesn't help with the problems mentioned in this video. Quite contrary, we introduce architecture not to allow such problems to happen. If the system is split into proper services (I'm now using the word "micro", as the service size should be adjusted to the business, not technical metrics), it's much easier to isolate risk. It is easier to reason about something that has 20k LOC than 500k LOC. You can upgrade them one by one without a big bang. Or even rewrite if the language/framework is too slow (when having tests upfront, it should be safe). Also, the ownership should be viewed as a solution, not as a problem. If there's no owning team, there's no incentive to keep quality. Collaboration in share-all-edit-all is a utopia like the socialism/communism (and always ends like them - everything falls apart). Last thing. Some languages are more capable than others. Pushing dynamically typed language into a big system is a technical problem. Can you imagine a system written in Bash Script? In theory, you can. But does it make sense to say that such a system is hard to work with because programmers are not trained well?

  • @MalachiRails
    @MalachiRails 26 днів тому

    Legendary video. Thank you for the overview of Rails 8.

  • @chicuongnguyen7596
    @chicuongnguyen7596 28 днів тому

    so excited thank you typecraft

  • @jaspervanbrian
    @jaspervanbrian 28 днів тому

    Hey, I'm running v8.0 and it seems it doesn't generate `solid_cache_entries` table.

    • @HerwindoArtono
      @HerwindoArtono 23 дні тому

      Same problem here, have you found solution for that ? [update] run bin/rails solid_cache:install before migrate

  • @inspirewithkelvin
    @inspirewithkelvin 28 днів тому

    Good Series here mate!, mind down an api only tutorial ? For session and cookies persistence

  • @mudita_fastfood
    @mudita_fastfood 29 днів тому

    "undefined method `validates' for class ...'' Help me, I have this error. Please !

  • @raghav_1997
    @raghav_1997 Місяць тому

    Does the apple store allows the apps ? because practically they don't have any control over the anything in these iOS apps. ?

  • @joshoowa
    @joshoowa Місяць тому

    5:06 I’m a little confused here. When did you add this special css thing? Did you add it in camera?

  • @MysticUB
    @MysticUB Місяць тому

    Oh yeah…. That sounds nice

  • @richard-kx3fl
    @richard-kx3fl Місяць тому

    Greate Job on this series!

  • @nicvolker
    @nicvolker Місяць тому

    Great series @typecraft_dev. I'd love to see you do more for the Ruby on Rails channel. Not just showing off the Rails 8 features, but explaining all the Rails functionality - new and old.