Rocketchat production grade, still a good choice for deployment with Meteor Galaxy? - meteor

Is it still advisable to deploy a production grade version of Rocket.Chat using Meteor Galaxy as the Host? I am also using a MongoDb Atlas with a replica set as the host.
I found this: https://martinschoeler.github.io/docs/installation/paas-deployments/galaxy/ and have had success deploying it. However, I'm concerned about going a direction that isn't advised anymore.
I'm going to use the lastest stable release (3.2.2) and am getting a little nervous about doing this without seeing the branded Galaxy choice on the page of deployment choices under 'Server Install' here:
https://rocket.chat/install

Galaxy is still the most stable and reliable form of deployment for a Meteor application. It is not listed on the main install page, but the guide still exists: https://docs.rocket.chat/installation/paas-deployments/galaxy

Related

How to deploy symfony rest api project in hosting without third-party applications?

I am trying to deploy symphony api project in hosting.
Until now, all the projects I have done have been pure php, uploading to hosting is simple and everything always works perfectly.
The situation with symfony is tragic and impossible for me, uploading the code just does not work.
I'm really very disappointed with the framework... deploying react, angular is so easy and here it's just ridiculously impossibly hard...
My question is not specific but I'm sure if there is a good answer it will be useful for thousands like me!
Can someone help me with this please? Any tutorial, video etc.
For 3 days I have been searching for information on Google and YouTube from morning to night all day like crazy.
I would appreciate it if someone could just send me a link to a blog tutorial or a video that works without third party applications. I am really tired...
Symfony is alive and well, just had a major developer conference in Paris days ago. Symfony has a new minor release every 6 months, a new version 6.2 will be released in the coming days.
Just make sure to follow the information for deployment linked above as well as the setup requirements: https://symfony.com/doc/current/setup.html#symfony-tech-requirements. Perhaps you are trying to run Symfony 6.1 with PHP lower than 8.1?
As to other backend frameworks like Laravel (which is based in part on Symfony): Almost everything in PHP land nowadays is using Composer for easy installation. Any hosting environment that provides SSH access should allow you to setup/use Composer.
A common pipeline to roll out projects can be IDE > GitHub > server. You can however use SFTP as well, just make sure that the program you are using follows the .gitignore file and doesn't try to upload everything. Afterwards run Composer and Yarn/NPM to install everything that your project needs.
the whole problem was in the version of composer, which is 1.0.0 in the hosting, which creates hundreds of errors and it is simply impossible to install the project written on the latest version.
All I had to do was manually install the latest version of composer on the hosting.
Then I install the project using the composer phar file
php ~/composer.phar install
instead of the default one which from the hosting is the oldest version 1.0.0 and bring impossible to fix problems.
If anyone has a similar problem just check the composer version in the hosting.

What to use instead of Azure Web Apps to allow installation of google chrome in app environment?

I've just created a feature for our application which generates a powerpoint report from the data a given user has in our system.
In short, the server spawns an instance of google chrome using Selenium's ChromeDriver, and from there scrapes out the charts from our application running in chrome. It was done this way to ensure the charts in the report look exactly the same as they appear in the clients' browsers.
We use Azure Web Apps to host our development and production environments, and while my reporting feature works fine in local environments, it doesn't work once deployed to any other environments, because it depends on chrome being installed, and I can't get it installed in the Azure Web App sandboxed environment.
(you can see this other question of mine for a bit of a reference to where things are going wrong: PowerShell StartProcess: invalid handle )
SO
What I pretty much want to know is, if an Azure Web App environment isn't going to allow me to install google chrome, where should I look next?
It looks like using Service Fabric may allow me to install what I need appropriately (https://learn.microsoft.com/en-us/azure/app-service/choose-web-site-cloud-service-vm), but it seems like a big change to make just to be able to facilitate this small part of the feature.
Another option is to just re-architect the feature so it doesn't depend on the server spawning an instance of google chrome.. but I'd just prefer to avoid that if there's a straightforward way for me to get what I have working.
Ideally, there'd just be a way to get google chrome installed in the given environment, but I've spent a good 10 hours trying to get that to happen now, and it's not looking promising.
There's a couple of solutions which would work - depending on your code and framework dependencies.
IMO - the simplest way would be to build your code in a docker container (that runs the Selenium ChromeDriver) and deploy it either through the container features on Web Apps or run it on demand through ACI (Azure container instances) and have it create the report and drop it in Azure Storage. In a container you have a lot more options - and you have a great amount of options on how to run it. Spinning up an ACI on-demand to do the job can be done in multiple ways (e.g. from Code or through logic-apps or Powershell/Azure automation).
Here are some links on running containers in your App Service:
https://learn.microsoft.com/en-us/azure/app-service/containers/
https://learn.microsoft.com/en-us/azure/app-service/containers/tutorial-custom-docker-image
You could start off by building and adding your code from this image: https://github.com/SeleniumHQ/docker-selenium
Other alternatives of course - you could have a VM that you can install and do what you want with on-demand - however - it'd add more management overhead and other implications to think about.
Many options - but in the regual Web App Sandbox - you're limited.
I have found myself this problem with chromedriver.exe needing a real Chrome. As I cannot install Chrome in Azure App Service I am trying a portable version of Chrome. When using the chrome webdriver I tell it where to find the chrome binary.
var options = new ChromeOptions();
options.AddArguments("headless"); // any options you need
options.BinaryLocation = "YOUR CHROME BINARY PATH HERE";
var driver = new ChromeDriver("YOUR CHROME DRIVER PATH HERE", options);
You should be able to copy the chrome portable files as no installation is required. Although it is heavy, 250 MB, because it includes the non portable version inside.
Be sure to use a Chrome version compatible with your ChromeDriver as pointed in the documentation

Using C/C++ Modules in Meteor Tutorial

Does anyone have a tutorial how to use a C++ module from NPM in Meteor? Running the normal: meteor npm install and importing with the package returns this message.
Error: module.useNode() must succeed for native .node modules
You're probably using an unusual server configuration. Some common problems that break compilation are:
Incorrect permissions for various directories. This may mean you've been running as root for some meteor installation commands, which then prevents the local user's access to those directories for compilation.
A missing or broken compiler toolchain.
A bad package or one that is untested for your hosting platform.
I'd discourage you from trying to run locally on an desktop Linux installation if you're unfamiliar with some of these gotchas. Use a virtual machine for development. I'd recommend Vagrant using IntelliJ's WebStorm for native integration.
Meteor is generally deployed on Linux using the Amazon AMI or Ubuntu on AWS, Galaxy or Modulus.
If you think everything's in order and you're having issues with Galaxy or Modulus, reach out to their support.

Meteor: what are the best settings in a production environment?

I am developing a meteor application. I noticed that the meteor server sometimes suddently crashes, this makes me think that it might not be optimized for production.
In a production environment, should I consider to add/remove some packages? Which one? And what are the best settings? I just want to make sure to have a reliable server that stay up all the time.
Have you taken a look at meteor up yet? It will set up a production quality server for you. I've used it for several production applications and it works great.
As far as adding/removing packages goes, I've never ran into any problems with installed packages running on production. A couple of my apps have about a dozen or so packages installed. But if you suspect that a package might be causing the problem, I would go to atmosphere and search for your packages and make sure that they haven't been flagged. You'll see a bright red flag next to the package name if it's been flagged by the community as "not working".
Maybe also check for issues on GitHub.
If you do decide to use meteor up, after your app has been uploaded to the server, you can check the log s for any problems.
mup logs -f

MeteorJs runs really slow in client

just installed MeteorJs in my llaptop, os Debian, newest Meteor.
As i use meteor on my llaptop it works great but when i try to open the app from my desktop computer(it is in the same lan network) it takes about 10-12 minutes to load the basic app that is installed when you type meteor create app.
Is there something I should do or know. I tried to remove autopublish though.
Best regards,
Emi
you shouldn't trust a Developer mode when testing your Meteor app. It depends on a few reasons and as in common - your app works fine in Production

Resources