You can now use the latest Ruby versions that were just released. These versions include security fixes so we highly recommend updating your applications as soon as possible. See the release notes: https://www.ruby-lang.org/en/news/2023/03/30/ruby-3-2-2-released/
We've switched to using the official Redis.io repository. This provides the latest Redis versions which is a requirement for using Sidekiq 7.
To update, open your Cluster -> Server -> click "Update Server" to update to the latest configuration.
We've updated our Node.js versions for Hatchbox Classic to install different versions for the OS:
Ubuntu 20.04 Focal will receive Node.js 18. Ubuntu 18.04 Bionic will run up to Node.js 16. (Node 18 throws an error with glibc). Ubuntu 16.04 Xenail will run up to Node.js 16.
See the announcement: https://www.ruby-lang.org/en/news/2022/11/24/ruby-3-1-3-released/
If you've noticed auto-deployments are no longer working for your Hatchbox Classic app, update the URL in your webhooks to use "classic.hatchbox.io" instead of "hatchbox.io".
This will make sure your webhooks continue to send to Hatchbox Classic instead of the new Hatchbox that went live late last week.
New versions of Ruby have just dropped with important security updates. Check out the release for more details: https://www.ruby-lang.org/en/news/2022/04/12/ruby-3-1-2-released/
Check out the changes here: https://www.ruby-lang.org/en/news/2022/02/18/ruby-3-1-1-released/
It's Christmas and that means we get a brand new Ruby version. Check out the new features in Ruby 3.1 here: https://www.ruby-lang.org/en/news/2021/12/25/ruby-3-1-0-released/
You can now use the new Ruby versions that include security fixes for several vulnerabilities. Read more here: https://www.ruby-lang.org/en/news/2021/11/24/ruby-3-0-3-released/
We're updating webhook URLs for auto-deployment to point to classic.hatchbox.io going forward. We've done this automatically, so there's nothing you need to do. If you have any issues, let us know!
This DNS change is one of a few things we're doing before we launch the brand new Hatchbox v2. 🚀
Security updates for Ruby are now available: https://www.ruby-lang.org/en/news/2021/07/07/ruby-3-0-2-released/
Security updates for Ruby are now available: https://www.ruby-lang.org/en/news/2021/04/05/ruby-3-0-1-released/
We've added Poppler as a default package on web servers so you can generate previews for PDFs out of the box with ActiveStorage.
You can now deploy apps with Ruby 3.0.0 on Hatchbox! For a list of our supported Ruby versions, check out: https://hatchbox.gitbook.io/hatchbox/apps/ruby-versions
Custom processes have been a long, long time coming and I'm excited to announce that they're available starting today! You can use this to run multiple Sidekiq instances, Resque, AnyCable, or really any other process you can think of.
You can now add a post-deploy script that will run after successful deployments.
We've moved from LetsEncrypt's certbot to acme.sh to better support Ubuntu 20.04. Acme.sh is written entirely in Bash which won't have the same issues dependency issues as certbot currently does.
Any new LetsEncrypt certs will be provisioned with acme.sh. Existing certs will continue to use certbot.
To fully support Ubuntu 20.04, we've upgraded our LetsEncrypt client. We're now using acme.sh to issue and renew certs automatically. This is the same LetsEncrypt client that Discourse and many other services use and should make our LetsEncrypt support more reliable and work consistently across Ubuntu versions.
The recently released Ubuntu 20.04 LTS version is now fully supported on Hatchbox. All new servers will be created using Ubuntu 20.04 to keep them up-to-date for as long as possible.
We've expanded the ability to add multiple accounts to now include everything, not just DigitalOcean. You can now connect multiple EC2, Linode, Vultr, etc accounts to deploy from anywhere.
Using the LetsEncrypt feature will now install the very latest LetsEncrypt version on your servers. It seems LetsEncrypt has abandoned their Ubuntu package which we have been using previously (according to their official instructions) and the most recent version was old and buggy. Now, we'll always be installing the very latest version so issues like failed renewals should be fixed.
To get the latest LetsEncrypt code on your server, re-run the LetsEncrypt setup for your app(s) and it will install the latest version.
Update those Ruby apps! New versions of Ruby with security fixes are now available.
Every app deployed with Hatchbox gets a hatchboxapp.com subdomain assigned to it for convenience when deploying multiple apps to the same server. Until now, these sites have only been available over HTTP.
We've now setup a proxy server so that your hatchboxapp.com domains are now usable over SSL!
Gone are the days of site unavailable errors when deploying your app with force_ssl. We still strongly encourage you to setup your own domain with SSL that points directly to your server, but this improvement will make using Hatchbox even easier.
Ruby 2.7.0 just got released today and is now available for use on Hatchbox! Happy Holidays everyone!
You can now specify AWS S3 or DigitalOcean Spaces as the location for your backup storage. After backing up, the files will be automatically uploaded to the bucket you choose.
New versions of Ruby have been release with security updates so make sure to upgrade your versions ASAP! Ruby 2.4.8 has been skipped as it included a bug and was re-released as 2.4.9.
Now when you enable backups on an app in Hatchbox, it will report back so you can see the last successful backup time in the dashboard. This only applies to new backups enabled after today. If you'd like to add this to an existing app, re-enable the backups on your app and we'll update your config, just be sure to save any changes you've made to the backup config before hand.
We've added the ability to rollback your last app deployment! You can click the dropdown next to Deploy in the UI and select Rollback to get undo your last deployment.
We've now added the ability to delete servers from your hosting provider when you archive a cluster! You can simply check the box and we'll use their API to delete the servers. Archiving of servers works just like before if you don't check the box. 👍
New versions of Ruby were released recently and they're all available for deploying in Hatchbox now. You can find more information about these releases here: https://www.ruby-lang.org/en/news/2019/08/28/ruby-2-6-4-released/
You can now transfer Clusters to other teams that you're a member of. Only the Team's owner will be able to transfer the clusters. You can find this feature in the Settings page of your Cluster.
You can now setup multiple teams to organize your clusters and apps. You'll only see the clusters for the current team that you're viewing and you can invite other users to create and work with clusters on your teams.
We've updated the documentation for App Passwords when connecting your BitBucket account. You can follow the BitBucket Instructions to re-connect your account with the correct permissions. This will allow Hatchbox to correctly add SSH keys and enable webhook deployments via the API.
BitBucket users will need to reconnect their account using an App Password to give us access to add deploy keys to their account. BitBucket recently deprecated their API 1.0 and the new version no longer allows OAuth tokens to add SSH keys to users or repositories. Reconnect your BitBucket account.
We've fixed a bug in your Let's Encrypt wildcard SSL certificate renewals with DigitalOcean. Previously, we were using tokens that expire for authenticating Let's Encrypt with DigitalOcean which caused problems renewing the certificates. We've changed this to prompt you for a DigitalOcean personal access token instead which do not expire and will correctly renew certificates every time in the future, so long as the tokens are not revoked.
Two new versions of Ruby are now available! You can find out more here
A new version of Ruby 2.5 was released to fix a regression in Ruby 2.5.4.
You can find out more here.
New versions of Ruby were released to fix bugs and vulnerabilities in Rubygems. These versions of Ruby are now available for deploying on Hatchbox.
You can find out more here.
You can now sync your server's details from your hosting provider by clicking Sync Server under the server's Settings page.
This is helpful in case the server's IP address changed on your hosting provider and is a common problem with Amazon EC2 servers which get a new IP every time the server is shut down and started again.
Rails 5 introduced API only apps which skip generating assets. Since precompiling assets is a part of standard deployments, we've improved the deploy script to detect apps where config.api_only = true
and skip the assets:precompile step.
You can now deploy Ruby 2.6.1 apps. Just set it in your .ruby-version file or Gemfile and next deploy it will download and use the new Ruby version.
We've just released Sidekiq logs retrieval in Hatchbox! You can now view Sidekiq logs on the web without having to login to your server and manually poke around.
This should come in handy for anyone using Sidekiq that's having trouble getting their process to start or if you simply want to monitor job completion.
Many of you have asked for an Amazon EC2 integration to more easily spin up Hatchbox servers on AWS. Today's your lucky day! We've just released the beta of our Amazon EC2 integration. It will create instances on whichever VPC you choose so you can quickly spin up a cluster on Amazon. This is super handy if you'd like to use Amazon RDS for your database too.
We've added support for Ruby 2.6 now on Hatchbox.
By default, the JIT compiler is turned off so you can safely upgrade to 2.6. Keep in mind that 2.6.0's JIT is currently slower for Rails, Sidekiq, etc so we wouldn't recommend using the JIT in production.
If you do want to run with the JIT enabled, you can add an environment variable to enable it: RUBYOPT="--jit"
Now that we've had plenty of time for Ruby gems to be upgraded for 2.5 compatibility, the default Ruby version will be 2.5.3 for any deployments.
If you would like your app to run a specific version of Ruby, either add a .ruby-version file to your repo or "ruby" line to to your Gemfile with the version you want to use.
We fixed a bug yesterday around Let's Encrypt renewals. Certificates were getting renewed but NGINX was not being reloaded correctly to use the new certs. This has been fixed so NGINX will correctly reload the certificates.
For existing apps, you can re-run the Let's Encrypt setup to get the latest weekly certificate renewal script installed.
New versions of Ruby have been released with security updates. Be sure to update your applications to the latest versions of Ruby as soon as possible!
Today we're releasing new pricing plans for any new Hatchbox customers. These new prices will help us deliver even better hosting and better support, while still offering the cheapest hosting you can find.
If you're a current customer, don't worry! You are grandfathered in to their plans as long as you stay subscribed.
If your application fails to start, you've previously been greeted with an NGINX 404 or 50x error page. We've replaced this with a custom Hatchbox error page that makes for friendlier error handling. Existing apps won't be changed, but any new apps deployed will have this improvement.
Sidekiq will now be automatically detected and enabled during deployments! No need to manually enable it anymore. The deployment will simply look for Sidekiq in your Gemfile.lock and will enable it if it hasn't been already. As always, subsequent deploys will restart Sidekiq so it's running the latest code.
You can now deploy Ruby apps that use Delayed Job for background processing. It will automatically be installed the first deploy that it sees the gem installed in your Gemfile.lock. Deploys after that will automatically restart Delayed Job so it's running the latest code.
Since clusters were released, the most common request we've gotten was how do you add and remove servers from your cluster? Today you can!
This is a fresh off the press, so you should be careful with changing your cluster. Some small modifications may need to be made, such as changing your DATABASE_URL to use your server's Private IP address instead of 127.0.0.1 if moving from a single server to multiple.
Hit the Support link if you need any help with this or run into any issues!
Want to share Hatchbox with people and get paid for it? We're testing a new affiliate program that pays you a 30% recurring commission for any new paying customers you send our way.
You can sign up at https://gorails.getrewardful.com/signup and if you have any questions, just let us know!
New servers will be created with Ubuntu 18.04 LTS and Postgres 10.
Important: Rails apps older than 5.x will require either a Rails version upgrade or the appropriate monkey patch. You can find information on the error and fixes here: https://help.heroku.com/WKJ027JH/rails-error-after-upgrading-to-postgres-10
Existing servers will not be upgraded to Ubuntu 18.04 or Postgres 10. This ensures your applications continue working and you can upgrade any time you want.
It's recommended to wait until 18.04.1 is released before upgrading your existing Ubuntu 16.04 servers.
If you have any questions, click the Support link and send us a message!
Your apps can now serve requests with Puma instead of Passenger. Puma allows you to run both multi-threaded and multi-process servers. You can choose which webserver you use when creating the new app or in the app's NGINX config section.
Existing apps need a small upgrade to their NGINX configs to be compatible with this feature. If you have any questions or trouble running Puma, contact support and we'll get back to you right away!
Wildcard SSL certificates are now available using Let's Encrypt. We currently support DigitalOcean, Cloudflare, and Route53 DNS services. Just make sure to add your primary domain and wildcard domain in your app's Domains tab, then enable SSL.
You can now create load balanced server clusters and deploy apps to them.
Each server gets tagged with it's different roles and deployments will be applied across the machines. Existing apps have been converted to single-server clusters and tagged with the correct roles.
Several important security patches just came out for Ruby, so it's important you upgrade your Ruby to the latest patch version.
Just change your git repo's .ruby-version file to contain the new Ruby version you want, commit, push, and deploy your code and you'll be using the new version of Ruby.
If you're hosting your Git server on a different port than 22, you can now use "ssh://git@example.com:2222/repo.git" style urls to deploy your application.
Ever wanted to copy and paste a bunch of new environment variables for your application? Now you can. Just click "Bulk update" and you'll be able to paste in a bunch of environment variables and copy them from your applications much more easily.
The previous version of Passenger broke a feature we use to prevent your apps from sleeping. A change in that release broke the option and some customers had to disable this feature. Fortunately, Passenger has released a new version including the fix and you can now re-enable that feature after upgrading to the latest Passenger if you previously had to disable the pool idle time option.
Lost your server's deploy user password email? You can now reset it on the SSH Keys tab of your server and we'll reset and email you a new password. You can use this to login to your server as the deploy user and run commands as root.
Ever wanted to manage servers across multiple DigitalOcean accounts with a single Hatchbox account? Now you can. After you connect your accounts, you'll be able to choose which account your new server is created on.
We've officially added Linode support! Now you can deploy a new Linode instance with the click of a button.
While you could always hack this together if you were clever with customizing your deploy script, starting today you can now deploy Sinatra, Hanami, and other Rack apps to your servers on Hatchbox! Just make sure they have a config.ru file for Passenger to pickup and you're all set.
After many, many requests, we now have MySQL support. When you create a new app, you can now choose between MySQL and PostgreSQL as your primary database. We'll automatically provision a database of the type you selected and your app will be able to use it immediately.
Starting today you can now add your Vultr API key into HatchBox and start provisioning servers with Vultr. We will be adding new hosting providers shortly, so if you have any suggestions or want to report any bugs just let us know!
DigitalOcean recently updated their pricing with lots more RAM and SSD and even Optimized and Flexible Droplets. We've got the latest pricing in Hatchbox now and you can find out more details on DigitalOcean here: https://blog.digitalocean.com/new-droplet-plans/
Starting today, you no longer need to choose the Ruby versions for your apps ahead of time. Ruby will be automatically installed when your app gets deployed just like Heroku. You can set the Ruby version in your repo's .ruby-version
file or by adding ruby "2.5.0"
to your Gemfile and committing the Gemfile.lock. If we can't find a matching Ruby version, we'll automatically install the latest version supported.
Over the holidays, Ruby 2.5.0 was released and is now available and working on all new servers! If you'd like to update an existing server for Ruby 2.5 support, use the Settings tab and click "Update Server" which will install the new dependency for compiling Nokogiri on Ruby 2.5 and Ubuntu.
Deploying multiple apps to the same server previously required you to setup domains to access them both. Now, each new app will receive a custom subdomain at hatchboxapp.com so you can access them much more conveniently and directly!
You can now use any of these new Ruby versions. Just visit your Server's Ruby versions tab, install the new version(s), and then set the version number in your repo's ".ruby-version" file and redeploy your app to use the new version.
Make your account even safer by enabling Two-factor Authentication. You'll use a one-time password generated on your phone along with your email and password to make sure your account is extra secure. Visit your Account tab in Settings to enable it.
Cron jobs are now supported out of the box for new apps using the Whenever gem. Just add it to your Gemfile and define your cron jobs in schedule.rb and they will be automatically updated each deploy.
These new Ruby versions fix several vulnerabilities in sprintf, WEBrick, RubyGems, and more. You can now install these Ruby versions on your servers and update the .ruby-version files in your apps to use the latest!
Now when you deploy your app, Hatch will automatically keep the last 5 releases and clean up any older ones than that. This keeps your server nice and organized so that old release aren't taking up too much disk space.
Previously our deploy scripts for apps and Nginx configs were hardcoded. Now you can use %{var} syntax to dynamically insert values like your domains, your app name, and your Rails environment into the scripts.
Hosting your app somewhere other than Bitbucket, GitHub, or GitLab? No problem! You can now deploy from any git hosting. Just select "Custom" when deploying a new app and add the server's deploy key to your Git host so it can check out the repository during deployment.
Ever wanted to install some tools on your servers without having to SSH into each machine? Now you can! Write your own bash scripts and then choose which servers you want them to run on. The results will be logged to the server's History tab so you can see the output when it's finished running.
Ever wondered if your server or app deployment was stuck? Now you can watch the realtime logs to keep an eye on what's happening!
Don't want to use DigitalOcean? Now you can deploy to any VPS provider. Just setup a server on your provider, add it to Hatch and install the SSH key on the root user and you're all set.
You can now easily enable backups for any of your apps with Hatch. They are powered by the Backup gem which provides a ton of options for backing up your databases and files, storing them safely, and sending notifications upon completion or failure. Check it out in the Backups tab in your app to get started.
You can now setup ElasticSearch on your Hatch servers with the click of a button. This is in beta now for anyone who wants to try it. Just head over to your Server's ElasticSearch tab to read up on the RAM requirements and enable it.
Ever wanted to deploy an app that uses MongoDB like Errbit to your Hatch servers? Now you can! It's in beta, so expect some bugs but you can find more information out in your Server's MongoDB tab!
It should be easy to see what's going on with your fleet of servers, so we updated the servers page to also show you the apps deployed to each one. It's much clearer to see what's going on now that it's all in one place!
You can now get notifications of when a new deploy was triggered just by leaving Hatch open in a browser tab. This is super useful if you're running git push and want to know when your deploy starts.
You can now add additional domains to your app and have Let's Encrypt expand your certificate to include the new domain(s). Just add the domains to your Hatch app and then click "Update" on the SSL tab to expand your Let's Encrypt certificate to the new domain(s) you just added.
If you've ever wanted to connect to your production app's database using Postico, Navicat, PgAdmin, or another database tool, you can check out the new "Database" tab in your App to see all the details for connecting to your database via SSH. 🛢
Most apps need background workers these days and there's nothing more popular than Sidekiq. You can now enable Sidekiq for your app in the Sidekiq tab. This sets up a systemd script that makes sure that Sidekiq is running at all times. We also take care of automatically restarting Sidekiq during deployments so the background job code is always up-to-date.
Each app now gets a dedicated Redis database on your server and assigned a REDIS_URL environment variable that points to that database. This means you can rest easy knowing that if you deploy multiple apps to the same server, all your ActionCable, Sidekiq, and other Redis-backed tools will stay nicely contained to only their app.
SSL has been a high priority on the list, but we've also wanted to make sure you can easily tweak the NGINX config for each app to add things like redirects in. You can now do both! We support both free SSL certs via Lets Encrypt and the ability to upload custom certificates. We'll install the certs and then update your NGINX config to use those and enforce SSL on your Rails app.
It's always a pain to SSH in and retrieve the logs to see what happened when you get a 500 error. We've added a Rails Log
tab to each App you've deployed to easily retrieve the last couple hundred lines of your logs with just a click.
The Bitbucket API is a bit finicky but we figured out and fixed a bug where it wouldn't allow us to upload your server's SSH deploy keys to your account.
You can now install three new Ruby versions on your servers. Adding new Ruby versions is now a piece of cake. 🍰
We added an easy way for you to toggle deployments via webhook when you push your code to Github, Bitbucket, or Gitlab. Check it out in your app's Repository tab.
Added a message of the day (MOTD) when you SSH to your server with some handy tips. Also enabled a firewall by default to secure your servers even more out of the box.
Launch day is a big deal. We started out with just a few basic features that allows you to get your DigitalOcean servers configured with the click of a button.