📕Deploy an Application with a Dockerfile on Clouddley
Learn how to deploy an application using a Dockerfile on Clouddley.
Deploying applications with a Dockerfile on Clouddley allows you to containerize and manage your application efficiently. This guide provides step-by-step instructions on deploying an Express.js application using a Dockerfile, ensuring a seamless and reliable deployment process.
Prerequisites
A Clouddley account.
Basic understanding of Docker.
An Express.js application.
A virtual machine on a Cloud platform or bare metal server.
Creating a Dockerfile
In the application root directory, create a Dockerfile triggr.dockerfile
that defines how the app should be containerized.
# Use an official Node.js runtime as a parent image
FROM node:18-alpine
# Set the working directory in the container
WORKDIR /app
# Copy package.json and package-lock.json first for dependency installation
COPY package*.json ./
# Install dependencies
RUN npm install --omit=dev # Use --omit=dev for production builds
# Copy the rest of the application code
COPY . .
# Expose the application port (ensure it matches the port your app listens on)
EXPOSE 3011
# Define the command to run the application
CMD ["node", "./bin/www"]
Building and Running the Container Locally
Before deploying to Apps, verify that the container works locally.
Build the Docker image:
docker build -t my-express-app -f triggr.dockerfile .
Run the container:
docker run -d -p 3011:3011 --name express-container my-express-app
Verify the app is running by visiting
http://localhost:3011
.
Deploying the Application
Accessing Apps
Open your web browser, log in to your Clouddley account
Navigate to Apps and click on Deploy App.

Step 1: Configure Service
Choose your Git hosting service; either GitHub or Bitbucket. For this tutorial, we will be using GitHub.
Click on Continue with GitHub

Step 2: Configure Git
To connect your GitHub user or organization account, click the Select username/organization dropdown and Add GitHub account.
Select your repository and the branch from the dropdown list or quickly search.
Click on Next

Step 3: Configure your Virtual Machine
In the Choose or add server dropdown, select your virtual machine (VM) if it’s already listed. If not, select + Add Virtual Machine.
Enter the following details to configure your VM:
Hostname or IP address
Username
SSH port
After adding the details, use the Clouddley CLI (recommended) or connect via SSH to verify the connection.
The Clouddley CLI is a command-line tool that allows you to interact with the Clouddley Platform from your terminal.
Open the command line of the remote VM you want to configure to Clouddley and install Clouddley CLI by running the command:
curl -L https://raw.githubusercontent.com/clouddley/cli/main/install.sh | sh
To add the SSH public key, run the command:
clouddley add key
Using the CLI, you can deploy resources, manage configurations, and automate tasks efficiently.
Click on Verify. This verifies the connection.
Click on Next

Step 4: Configure app settings
Insert the name of the application and its port.
Click on Next

Step 5: Configure Environment Variables
To add environment variables, click on ➕ Add Variable
Choose an ENV mode, which can be either single or import variables. Learn more here.

Add the key-value pairs and click on Save
Click on Next

Step 6: Set up Notifications (optional)
To configure the notification settings of the application, click on ➕ Add Alert
Select the Alert type. For this tutorial, we will set up Email alerts.
Toggle on the buttons of the deployment event (failed, timed out, or success) you want to be notified of.
Enter the Email address where you want to receive alerts. (You can add multiple email addresses)
Click on Save
Click on Deploy

Step 7: Test and Verify the app
Click on Go to Dashboard. Your app will be visible on the apps dashboard.
After the app deployment is complete, the app status changes from
Deploying
toOnline

Click on 🌐 Website at the top right corner of the page, which opens the URL of the deployed application in your browser.
You can test the application functionalities.

The Express.js application has been successfully deployed on Clouddley with a Dockerfile. You can manage it from the application dashboard by selecting the three-dot menu (…) in the top-right corner, where you will find options to Edit, Instant Rollback, Scale, Pause, or Delete the deployment.
Additionally, you can navigate through the dashboard tabs to:
View deployment history
Access and download logs
Add a custom domain
View and manage environment variables
Conclusion
Following these steps, you have successfully deployed an Express.js application with a Dockerfile on Clouddley. This method ensures a consistent, scalable, and efficient deployment workflow. Check out the source code for this application here.
Last updated
Was this helpful?