How to deploy an app to Tour de Cloud

authorTomáš Kebrle10/26/2025 23:00

This article serves as one of the main reference points for Tour de Cloud, a system for uploading your application to the world! We will explore everything Tour de Cloud can do, how to use it, and the entire process of uploading your application. So, let's get started!

Cover Image

How to navigate in Tour de Cloud?

Tour de Cloud („TdC“ for short) can be found at https://tourde.cloud/. Log in using the email address and password you set up after receiving the verification email from info@tourde.cloud.

Dashboard

The dashboard shows an overview of all running Docker containers and a preview of your page. You can click on each container to see more details, such as environment variables. You can also view live logs in the Logs tab.

Configuration

On the Configuration page, you will find details about your configurations (versions of the tourdeapp.yaml file) that are saved on our server. You can deploy the version referenced by the commit SHA that you want deployed.

Automatic tests

On the "Tests" page, you can run automated tests, for which you will receive points in the final evaluation. You can learn more about this in the assignment. Besides running the tests, you can also view the logs or download them to run locally.

Access tokens

You will probably only need to go here once, but it is still quite important. You can generate your TDC_TOKEN, which you will use to authenticate with our servers in the GitHub Action, so we know it's you.

Deploying your app to Tour de Cloud

After getting familiar with TdC, we can look at the deployment process. If you have any problems with this part, don't hesitate to get in touch on our Discord server in the Support channel; we will be there to help.

What you should know

This is a quick refresher on some technologies and terms you should be familiar with in order to understand the rest of this article.

  • Git – Tool for versioning code
  • GitHub – Cloud service, for saving your code
  • Docker – Docker is a containerization program for your application that makes it more portable
  • Docker image vs container – A Docker image is a file that contains your whole app, and a Docker container is a running instance of your app
  • Reverse proxy – a web server that routes requests to different services (e.g., /api to the backend and /* to the frontend)

Creating your project on GitHub

Create an account on GitHub.

TIP! As a student, you can apply for the GitHub Student Developer Pack, which gives you access to developer tools from JetBrains, educational courses on Educative, a personal server on DigitalOcean, and many other benefits (it is not required for submission).

Templates

To make it easier, we have prepared ready-to-use templates. If none of the templates use the technologies that suit you, you can use the generic template, which only includes the GitHub Action. However, you will need to create your own Dockerfile and tourdeapp.yaml file.

TIP! If you need help with setting up your project, you can ask us on Discord

Generating TDC_TOKEN

The next step is generating an access key for uploading your app. You can generate it on the Access Tokens page in TdC.

After entering the correct credentials, a dialog will pop up with the access key.

Copy it and add it as a secret in your GitHub repository.

Deploying the first version

Before we get started with the deployment process, you need to change <slug> in the tourdeapp.yaml file to your own slug, which you can get from the TdC dashboard (click to copy).

After you commit and push the changes back to GitHub, the action should run and upload your app to TdC. To deploy, go to the "Configurations" tab and click the Deploy button.

In order to successfully upload the app, you must first pay the entry fee

Advanced: File tourdeapp.yaml

If you used our template, you probably noticed a tourdeapp.yaml file in the root of the project. This file is used by our GitHub Action and defines how to build and upload Docker images to our server. A reference guide that goes more in depth can be found here.