Troubleshooting
503 errors
Your app may throw a 503 error and show Service Unavailable: No healthy endpoints to handle the request when you try to visit your URL. This means no healthy containers are currently available to serve your app. Potential reasons for this include: all containers are unhealthy, because they are all stuck in a CPU loop no containers are running, because they are stopped or because every container crashed (especially if the total number of your containers is 1, and your app hasn’t had tiSome readersError Types
502 errors You may see a 502 error with the message Registered endpoints failed to handle the request when you try to visit your URL. This means that the request failed, despite the fact that our system thought there was a healthy container at the beginning of the request. This often happens because your backend wasn't able to respond when communicating with our proxy servers. You may need to profile your app to determine the cause of this error. Check the Logs tab toFew readersGeneral Troubleshooting
General Advice Check these items if you're having trouble with uptime, performance, or deployment. Your Meteor version. More current versions may resolve issues found in older Meteor versions. While the reverse is rare and generally shouldn't happen, if you've recently upgraded Meteor versions and start having difficulties, consider reverting to your last Meteor version. Your container's memory and CPU usage. If your app is running out of memory, you may need toFew readersVersions History with Instant Rollback
For various reasons, you might need to recover from an incident in production — for example, due to a bug. In that case, Meteor Cloud allows you to restore your deployments and quickly revert to a previously deployed production deployment. How to roll back deployments? From Galaxy, open the app to which you'd like to restore a deployment version. Go to the Versions option. From there, you can see your Version History with the version number, when it was activated, who deployed thisFew readersSupport
Galaxy Support You can submit support requests through our ticket platform by visiting Galaxy support. The ticketing page is also accessible from the dropdown menu on the left within your Galaxy account. Please note that Galaxy provides support exclusively through this platform. Visit our pricing page to see specific SLAs tailored to your app's plan. Galaxy's support hoursFew readersMemory Issues
Memory issues or Out-of-Memory errors Memory issues are a common but often poorly understood problem. To effectively resolve them, you may need to profile your app and iterate on your code to improve memory usage. Memory issues are frequently indicated in your logs. Check your logs for clues about the source of the issue. If you see the log message The container has run out of memory. A new container will be started to replace it, this means that the container runniFew readersMemory issues or Out-of-Memory errors
Memory issues are a common but often poorly understood problem. To effectively resolve them, you may need to profile your app and iterate on your code to improve memory usage. Memory issues are frequently indicated in your logs. Check your logs for clues about the source of the issue. If you get the log message, The container has run out of memory. A new container will be started to replace it . This means the container running your application triFew readers502 errors
You may see a 502 error with the message Registered endpoints failed to handle the request when you try to visit your URL. This means that the request failed, despite the fact that our system thought there was a healthy container at the beginning of the request. This often happens because your back-end wasn’t able to respond when communicating with our proxy servers. You may need to profile your app to determine the cause of this error. Check the Logs tab to potentially find out more informatFew readersThis domain has already been used on Galaxy
The error “This domain has already been used on Galaxy” indicates that another user is already using the domain you're attempting to use. You might be logged into the wrong account if you own the app/domain but have several Galaxy accounts. For instance, if your app https://appname.com is under account2 but you're logged in as account1 in the terminal, you'll encounter this issue. To resolve this, execute: meteor logout && meteor login meteor logout && meteor login Then, log in with the acFew readers
API and Integration
API for Meteor Apps
Galaxy's public API is a GraphQL endpoint that enables you to monitor your apps running on Galaxy and change their configurations. Access Each Galaxy region has a different URL and so each region also has a different endpoint. US East: https://us-east-1.api.meteor.com/ EU West: https://eu-west-1.api.meteor.com/ Asia-Pacific: https://ap-southeast-2.api.meteor.com/ To access the GraphQL HTTP endpoint you need to append /graphql to these URLs; for example, the US East GraphQLSome readersHow to use the GraphQL API? [Meteor Apps]
Galaxy’s public API is a GraphQL endpoint that enables you to monitor your apps running on Galaxy and change their configurations. You can use it inside your app by following the steps in the Access and Authorization sections in the documentation: API Galaxy Docs. Create your API key in your Galaxy dashboard, and after that, you can make the requests to the GraphQL API. Each Galaxy region has a different URL, so each region has a difFew readers
Deployment
Deploy a new Meteor App
Learn how to deploy on Galaxy by setting up Push to Deploy. The easiest and fastest way of deploying your Meteor app. Sign up for Meteor Accounts You need a Meteor account in order to deploy your apps. If you don't have one yet, you can sign up here. Deploy a new app Start by going to your Meteor account on Galaxy. Then click on "Create New" "Deploy App" on the top right corner. (https://storage.crisp.PopularDeploy a new Meteor app using the CLI
Galaxy simplifies deploying, scaling, and monitoring your Meteor application. This guide offers step-by-step instructions for deploying your app with the Meteor command line. Deploy a new app Use the Meteor CLI to deploy applications to Galaxy. Ensure you're logged into a Meteor Developer Account with Galaxy deployment permissions. Verify your login status using the command meteor whoami. To deploy your Meteor app, run this command inside your app's directory:PopularDomains [Meteor Apps]
Overview Learn how to make an application accessible via a custom domain name. You can specify one or more hostnames for an application. Galaxy will make the app available on those hostnames. These hostnames can be on a custom domain, or can use the Galaxy-provided .meteorapp.com, eu.meteorapp.com domains, and au.meteorapp.com; for the US East, EU West, and Asia-Pacific regions, respectively. When first deploying When first deploying specify the hostname through the command line:Some readersDeploy with command-line
Overview Learn how to deploy an application to Galaxy with an alternative way. Galaxy makes it simple to deploy, scale, and monitor your Meteor application. This guide provides step-by-step instructions for deploying your application using Meteor command-line. Deploy a new app You can use the Meteor CLI tool to deploy applications to Galaxy. Make sure that you are signed in to an authorized Meteor Developer Account that has permission to deploy to Galaxy. Use the CLI command meteorSome readersRegions - Meteor Apps
Overview Learn how to deploy your app to regions around the world. We recommend deploying your app to region(s) where your customers reside for low latency and optimal performance. Galaxy allows you to deploy your app to the following regions: AWS us-east-1 in Virginia, USA (default region) AWS eu-west-1 in Dublin, Ireland AWS ap-southeast-2 in Sydney, Australia View the deployment guide for specific iFew readers
Security
Security & Systems Policy
Galaxy's Security Practices Galaxy is committed to ensuring that the application code and data stored in the Meteor Galaxy platform is accessible only by authorized individuals. Security best practices are employed consistently and evolve to meet the needs of our customers. When you sign up, you agree to our standard SLA, found here. If you need a customized SLA for your account, please rFew readersDDoS Mitigation
Galaxy's Network layer has a custom proxy tailored to work with Meteor apps. Our proxy servers handle the HTTP and WebSocket requests to your app by always selecting the best container to serve each specific request, taking into consideration how many connections are already open on each container. It also allows you to use multiple domains in our apps. Attacks DoS and DDoS attacks are attempts to make your app overloaded and unavailable for legitimate requests. Galaxy proxy servers areFew readers
Deployment configurations
Overview Learn how to configure an application on Galaxy. Configure your domain name The first thing you should do is verify that the deployment was successful. Check to see if the application is accessible by navigating to its URL. Then check the application logs in Galaxy at galaxy.meteor.com/app/<appname>/logs to see if there are any errors that are affecting the deployment. Once your application is successfully deployed, head on over to your Galaxy dashboard (http://galaxy.mPopularDNS
Overview Learn how to configure DNS to point to Galaxy. Before users can access your application, you must configure your DNS records to point to Galaxy. Galaxy is not a DNS provider and you’ll need to use your existing DNS provider to set DNS records. While the process will be specific to your DNS provider, the general method is the same. We also provide a free subdomain option if you don't need to have your own domain. The standard DNS setup for Galaxy is to use a sSome readersSEO with Prerender
Prerender integration Galaxy provides an integrated in-house pre-rendering service to optimize your Meteor app for search engines (SEO). Our Prerender service is included as part of Galaxy at no additional cost. See Add prerendering Type $ meteor add mdg:seo in your app's directory to add the prerender package. Galaxy will automatically enable the Prerender.io service when you deploy your app. If you're using the spiderable package, please remove it, since the prerender and spiderabSome readersCommands
A reference for Galaxy's commands meteor CLI: Frequently Used Commands deploy Mac and Unix meteor deploy can be used for creating new apps and updating existing ones. The full command is: region should be us-east-1.galaxy.meteor.com for the US region, eu-west-1.galaxy.meteor.com for the EU region or ap-southeast-2.galaxy.meteor.com for the Asia-Pacific region. hostnamSome readersCDN
Learn how to configure a CDN with Galaxy Configuring a CDN with Galaxy is largely the same as using a CDN with Meteor in any context. In general, you don’t want to forward cookies from your CDN, as it leads to overcaching. Specifically, you should not forward the galaxy-sticky cookie, as it will result in caching one copy of every asset per container that your application runs. However, you do want to configure your CDN to forward query striFew readersBackground Jobs
Learn how to have background jobs without affecting your connected users. Meteor is using Node.js on the server, and Node.js by default is single-threaded, or at least almost single-threaded except for things it defers to the OS. In a single-threaded environment like Node.js, if you perform long-running tasks in the same containers that you are processing your connected users' actions, they are going to compete using the event loop. This competition could cause many problems, like slowness orFew readersContainer environment
Overview Learn in what environment Galaxy runs your app. Galaxy runs your app in a set of containers using the Docker container platform. The actual code that is run is determined by the "base image" — either the default base image or a custom base image. Galaxy runs your app on 64-bit Linux machines in the UTC time zone. How containers stop When Galaxy wants to shut down your container (because yFew readersContainers
Learn how to monitor and manage containers Galaxy containers are packaged environments that are optimized to run Meteor. Each container runs one copy of an app. Usage Each container has CPU and Memory allowance. Galaxy combines the pooled resources of all containers to track overall app performance. You can dive into individual container performance using the graphs on the app's containers page. Container Item (https://storage.crisp.chat/users/helpdesk/website/273b1dc6f4f43800/imageFew readersMongoDB configurations - Meteor Apps
Overview Learn how to configure your MongoDB provider for Galaxy Although Galaxy provides a free MongoDB service, it is not suitable for production usage. We recommend using the Galaxy Database service, which can be accessed by visiting Galaxy and navigating to the Databases section to make a request. To configure MongoDB for your Meteor application, see the detailed steps in the Deployment guide. For optimum perfoFew readersLogs
The logs should be your first stop when troubleshooting any Galaxy issue. When working with Galaxy support, an agent will usually begin by consulting your logs. If a clearly noted issue has been marked there, you can save time by reading the logs and iterating on your code until the error goes away. You can reach the logs dashboard by clicking on your app, then clicking the "Logs" tab. Log Filters TheFew readersTriggers (Auto-scale) for Meteor Apps
Galaxy triggers allows you to automatically change your capacity configurations to adapt to traffic. Triggers Enable Why Triggers provide a configurable way to perform actions in your app; this is important for Professional apps that need to adapt to the demand dynamically. For example, an education app uses more resources during the classes but can reduce the capacity overnight and on weekends. We onFew readersNotifications
Galaxy notifications are the best way to stay informed about your apps running on Galaxy. We support notifications via Slack and Email. Activity Types Notifications are sent when activity occurs in your account: Activity Types We recommend activating notifications for at least these types: Deploy failed Build failed temporarily Build failed permanently App automatically stopped Certificate geFew readersFile Storage
File storage for application containers Galaxy provides temporary file storage for application containers to use. Galaxy does not provide persistent file storage for application containers to use. If you need persistent file storage for your application, you should use a robust cloud storage solution like Amazon S3. With each container, you should be able to use up to 512 MB of disk space for temporary local file storage. Application containers are given read/write access to the /tmp dFew readersCustom base images
Overview Learn how to customize your app's environment. Most Galaxy users run their app with the default base image. This provides a basic environment for running most Meteor apps. For full control over your app's environment, you can provide a custom base image instead. This allows you to precisely control the set of system packages available to your app, customize exactly what happens when Galaxy builds your app's image at deploy time and when Galaxy runs yFew readersScaling Meteor Apps
Learn how to improve your app’s performance by scaling Scaling and sizing your application is specific to the architecture and performance characteristics of your app. As apps grow they often require more resources to perform well. Galaxy accommodates growth by offering vertical and horizontal resource scaling. Scaling with Galaxy happens without downtime; your users will not experience service interruption, as long as you maintain at least one continuously running container at all times.Few readersUpgrade your app plan
We have four different plan levels to choose from, which fit many different use cases. Plans are app-based, in the same account you can have apps in different plans. Free Essentials Professional Enterprise Deciding which plan best suits your needs will be based on features available for each plan, as well as the container sizes and usage needed for your app. You can learn more about them on the billing page. Get 20% Discount! Our Savings Plan is a pricFew readersDefault base image
Overview Learn about the default Galaxy base image. Instructions Most Galaxy users run their app with the default base image. (For full control over the system libraries available to your app and its precise runtime environment, you can create a custom base image instead.) A base image is a Docker image. The default base image is stored in the repository meteor/galaxy-app on DockeFew readersHigh-availability [Meteor Apps]
Learn how to make your app fault tolerant by enabling high-availability High-availability increases the likelihood that your app stays up in the event of unforeseen container, machine, or availability zone failures. We recommend high-availability for all business critical and production apps. Galaxy supports high-availability by default. Just run three or more Standard containers to enable it for your app. You'll see "HA" in a golden box next to any apps where high-availability is enabled.Few readersTransfer Apps
Learn how to transfer an app to another account You can deploy an application to one Galaxy account at a time. Galaxy utilizes the following policy to select the account to deploy your app to: If an application with the specified hostname already exists in an account, Galaxy deploys to the same account. Otherwise, if you specify --owner someorganization, Galaxy chooses the given organization. Otherwise, if your individual user account is registered for Galaxy hosting, Galaxy choFew readersApp
Overview Get a snapshot of the realtime status of your app and resource usage over time on the app overview page. App Overview You may also want to consider using Meteor APM for more insight. Usage Your app's resource usage is determined by the size and number of containers. Galaxy combines the resources of all containers to determine the resources available to yourFew readersHow to transfer a Meteor application to another user/organization?
You can transfer your app by re-deploying it using a --transfer option and authorizing a hostname and account. The command would be something like: You can read our documentation where we describe this process: Transfer apps Galaxy DocsFew readersHow to add environmental variables to a Meteor App?
If you want to add variables that are related to the build/deploy process, and you are using Push to Deploy, you can add it in the Push to Deploy advanced options, under the environmental variables section, like in the image below. Keep in mind that if you want to add custom variables in this section and also want them to be accessible inside your application, you must add these variables inside your seFew readersWhat is the "Cold start app stopped due to lack of connections" message?
That is happening because the app is on the Free plan. In the Free plan we have something called "cold start". It will stop your app after some time of no connections but it goes back up as soon as a new connection arrives. If you wish to remove the cold start, you can change your app to the Essentials plan or any other paid plan.Few readers