Skip to main content

Deploy own docker-compose image using Elestio "Custom docker-compose"

This tutorial will walk you through the process of deploying your own custom Docker image to the Elestio cloud.

Use cases:

  • Deploy one or multiple instances of stateful apps like Wordpress / Directus / MySQL / Redis / RabbitMQ / ...
  • Deploy an internal service available only to your private network
  • Deploy an application that was created elsewhere and published to a private Docker registry.

To learn more about the elestio CI/CD, go here.

If you're new, sign up for Elestio, otherwise, login to your existing account.

Deploy a custom docker-compose image to the Elestio cloud using the CI/CD custom docker-compose template.

Step 1:

Go to CI/CD from the left sidebar.

Step 2:

Now, select the Docker compose as the deployment source.

Screenshot 2022-11-07 144754.png

Step 3:

Here you can see the most interesting and well-liked tech stacks' elestio templates.

Managed Service Dashboard (15).png

Now, for deploying customer docker images, select Custom docker-compose template; otherwise, if you want to deploy from elestio example templates, select the template you want to deploy and follow the steps.

Screenshot 2022-11-07 160729.png

Now click the Deploy button to proceed.

Step 4:

Choose Deployment Targets

Screenshot 2022-11-02 191657.png

Elestio offers two types of deployment targets "Deploy on a  new VM" and "Deploy on an existing VM".

You are allowed to set up n pipelines on each elestio CI/CD target/VM. According to the project configuration you select and the project you're deploying, the number of pipelines varies.

If you want to deploy these projects as a pipeline on a new Target/VM or don't have any installed targets, choose "Deploy on a new VM." If you already have any installed or previously configured CI/CD targets/VMs, choose "Deploy on an existing VM," and then choose the existing target from the targets dropdown.

Follow the steps below only if you select "Deploy on a new VM," otherwise click the next button to proceed.

CI/CD Pipelines by Elestio are available with our 5 cloud partners (AWS Lightsail, Digital Ocean, Vultr, Linode & Hetzner) in 85 locations over 27 countries but also on any cloud (AWS, Azure, Google, Oracle, ...) and on-premise with BYOVM.

  • Select Service Cloud Provider

    Screenshot 2022-11-02 194154.png

  • Select Service Cloud RegionScreenshot 2022-11-02 194242.png
  •  Select Service PlanScreenshot 2022-11-02 194721.png

  • Now Customize the target name and project (where the CICD Target will be created). 

Screenshot 2022-11-02 194857.png

If you want to deploy it with a different name and a different project, you can customize it. By default, we configure it with a dynamic target name and the current project.

Step 5:

Configure your Project docker image and other details.

Screenshot 2022-11-07 161048.png

Here, you can enter the information for your Docker image, and if your registry is private, you can configure registry credentials by checking the appropriate box  Use a private Docker registry.

Screenshot 2022-11-07 175250.png

Similar to these, you can configure your docker image. I create the configuration for the Redis app docker image.

Screenshot 2022-11-07 175808.png

You can list all of your project's API keys and secrets here if they were saved in ENV

Screenshot 2022-11-07 175901.png

The final step is to configure the reverse proxy settings. You can specify the port on which your project will run here.

Screenshot 2022-11-07 180334.png

Your pipeline name will be filled in automatically by Elestio, but you are free to use another name for it in this context.

Step 6:

Click the Create CI/CD pipeline button to deploy your pipeline.

Screenshot 2022-11-02 203203.png

In a couple of moments, your application was successfully deployed on elestio 🚀.

Please let us know by contacting our support email or ticketing system if you give it a shot and encounter any problems or if anything goes wrong.

Join us on discord to know more.