Deploy Your Ember Application To Firebase

Firebase is a backend as a service provider with a realtime database. Firebase makes it really easy to deploy your Ember applications to it. I've been using it for a while now with several of my side projects and it's been really easy to work with.

Pricing and Plans

To begin we'll need to sign up for Firebase. That should be easy enough, you just follow the signup link on the website. After you've signed up you'll have access to a free 'Hacker Plan' that gives you 50 Max Connections, 5 GB database transfer, 100 MB database storage, 1 GB hosting storage and 100 GB hosting transfer. This should be plenty to get started with.

If you're interested in the higher tears they start out at $49 and go on up from there. As you pay more you get access to more database transfer space as well as storage and connections. One concurrent connection, as defined by Firebase, corresponds to around 1400 monthly visits. The free plan allows 50 connections while the Candle plan, starting at $49, allows 200 connections. That should allow a good amount of traffic, and it does support custom domains. Firebase is owned by Google so you know you're getting a solid platform to work on.

Setup

We'll need to start by downloading the Firebase tools.

$ npm install -g firebase-tools

This will install all the tools needed to push our application to Firebase to host. After you've created an Ember CLI application cd into the directory and run the init command.

$ firebase init

This only needs to be run once for each project and it creates the firebase.json file in the root of your project directory. To get an idea how to setup your firebase.json file check out this guide. All though the defaults work fine.

The last application I created using Firebase I modified the default firebase.json file and added in a rewrite rule. This helped with routing. Here is the example I used for my last blog post on Firebase.

Deploy

After every thing is setup and ready to go the last thing we need to do is deploy. This is done by using this command.

$ firebase deploy

This will deploy your application to the .firebaseapp.com directory. You can use custom domains if you wanted to check out this screencast if you're interested.

If needed you can manage your deployed project and roll it back. The Hosting tab in your app's Firebase Dashboard shows the full history of deploys. To rollback to a previous day just click on the arrow icon on the right.