This article is not meant to teach you Deno, but it’s worth to mention its main cool features:
- Secure by default, runs in a sandbox. No file, network, or environment access, unless explicitly enabled. You need to add flags to gain permissions.
- TypeScript compiler baked in, works out of the box.
- Has built-in utilities like a dependency inspector (deno info) and a code formatter (deno fmt).
- Ships only a single executable file.
- Decentralized packages. No more NPM packages / package.json. Packages are imported from URLs and are cached on the hard drive on load.
- Extensive standard library.
- ES Modules import syntax over require syntax.
- Browser compatible API e.g. fetch.
Without further due, let's move on to next post section where we'll deploy a Deno application with MongoDB on scalable cloud platform.
➡️. Do you migrate from Heroku to AWS? Read this tutorial ⬅️
Steps to deploy Deno with Qovery
Sign in to the Qovery web interface.
Deno sample application
Get a copy of the sample source code of Deno sample project by forking it.
To deploy your Deno application connected to a MongoDB, you can use our sample code and follow the configuration steps.
In this example we are using MongoDB v3.6.
Create a new project
Create a new environment
Create a new application
To follow the guide, you can fork and use our repository
Use the forked repository (and branch master) while creating the application in the repository field:
Select application port
After the application is created:
- Navigate application settings
- Select Port
- Add port 8080
In the settings General section, set Build Mode to Dockerfile and set Dockerfile path as "Dockerfile". Then save your change.
Deploy a MongoDB database
In your environment view, click on Add and Database buttons:
In the popup window while adding a database, choose your name, select MongoDB and 3.6 version.
In the end, click on your added database - in the new screen you'll be able to find the Deploy button:
Connect your Deno application to MongoDB
Credentials of your MongoDB database are available via Environment Variables and Secrets. Qovery injects environment vars at the runtime.
You can learn more about environment variables and secrets here.
To list all the environment variables available to your Deno application, you can open Environment Variables and Secret tabs in your application window:
Deploy your application
All you have to do now is to navigate to your application and click Deploy button
That's it. Watch the status and wait till the app is deployed.
Trigger a new deployment
Now, you can play with the sample Deno application and commit & push your changes. Qovery detects your actions and triggers new builds and application deployments. Any change you make will be reflected in your deployed application automatically.
Congratulations! Now, you know how to deploy your Deno app with MongoDB in just a few steps.
Do you have any feedback about this tutorial? Let us know what you think on Discord, and join our wonderful dev community of +5500 devs.