## 8: Deploying Deploying a Meteor application is similar to deploying any other Node.js app that uses websockets. You can find deployment options in [our guide](/tutorials/deployment/deployment), including Meteor Up, Docker, and our recommended method, Galaxy. In this tutorial, we will deploy our app on [Galaxy](https://www.meteor.com/hosting), which is our own cloud solution. Galaxy offers a free plan, so you can deploy and test your app. Pretty cool, right? ### 8.1: Create your account You need a Meteor account to deploy your apps. If you don’t have one yet, you can [sign up here](https://cloud.meteor.com/?isSignUp=true). With this account, you can access our package manager, [Atmosphere](https://atmospherejs.com/), [Forums](https://forums.meteor.com/) and more. ### 8.2: Set up MongoDB (Optional) As your app uses MongoDB the first step is to set up a MongoDB database, Galaxy offers MongoDB hosting on a free plan for testing purposes, and you can also request for a production ready database that allows you to scale. In any MongoDB provider you will have a MongoDB URL which you must use it. If you use the free option provided by Galaxy, the initial setup is done for you. Galaxy MongoDB URL will be like this: `mongodb://username:@org-dbname-01.mongodb.galaxy-cloud.io` . > You can read more about Galaxy MongoDB [here](https://galaxy-support.meteor.com/en/article/mongodb-general-1syd5af/). ### 8.3: Set up settings You need to create a setting file, it’s a JSON file that Meteor apps can read configurations from. Create this file in a new folder called `private` in the root of your project. It is important to notice that `private` is a special folder that is not going to be published to the client side of your app. Make sure you replace `Your MongoDB URL` by your own MongoDB URL :) ::: code-group ```json [private/settings.json] { "galaxy.meteor.com": { "env": { "MONGO_URL": "Your MongoDB URL" } } } ``` ::: ### 8.4: Deploy it Now you are ready to deploy, run `meteor npm install` before deploying to make sure all your dependencies are installed. You also need to choose a subdomain to publish your app. We are going to use the main domain `meteorapp.com` that is free and included on any Galaxy plan. In this example we are going to use `react-meteor-3.meteorapp.com` but make sure you select a different one, otherwise you are going to receive an error. > You can learn how to use custom domains on Galaxy [here](https://galaxy-support.meteor.com/en/article/domains-16cijgc/). Custom domains are available starting with the Essentials plan. Run the deployment command: ```shell meteor deploy react-meteor-3.meteorapp.com --free --mongo ``` > If you are not using the free hosting with MongoDB on Galaxy, then remove the `--mongo` flag from the deploy script and add `--settings private/settings.json` with the proper setting for your app. Make sure you replace `react-meteor-3` by a custom name that you want as subdomain. You will see a log like this: ```shell meteor deploy react-meteor-3.meteorapp.com --settings private/settings.json Talking to Galaxy servers at https://us-east-1.galaxy-deploy.meteor.com Preparing to build your app... Preparing to upload your app... Uploaded app bundle for new app at vue-tutorial.meteorapp.com. Galaxy is building the app into a native image. Waiting for deployment updates from Galaxy... Building app image... Deploying app... You have successfully deployed the first version of your app. For details, visit https://galaxy.meteor.com/app/react-meteor-3.meteorapp.com ``` This process usually takes just a few minutes, but it depends on your internet speed as it’s going to send your app bundle to Galaxy servers. > Galaxy builds a new Docker image that contains your app bundle and then deploy containers using it, [read more](https://galaxy-support.meteor.com/en/article/container-environment-lfd6kh/). You can check your logs on Galaxy, including the part that Galaxy is building your Docker image and deploying it. ### 8.5: Access the app and enjoy Now you should be able to access your Galaxy dashboard at `https://galaxy.meteor.com/app/react-meteor-3.meteorapp.com`. You can also access your app on Galaxy 2.0 which is currently in beta at `https://galaxy-beta.meteor.com//us-east-1/apps/.meteorapp.com`. Remember to use your own subdomain instead of `react-meteor-3`. You can access the app at [react-meteor-3.meteorapp.com](https://react-meteor-3.meteorapp.com/)! Just use your subdomain to access yours! > We deployed to Galaxy running in the US (us-east-1), we also have Galaxy running in other regions in the world, check the list [here](https://galaxy-support.meteor.com/en/article/regions-1vucejm/). This is huge, you have your app running on Galaxy, ready to be used by anyone in the world!