# Getting started: publish your first app with Gyro Containers in 5 minutes

https://www.gyrohosting.com/en/knowledgebase/article/gyro-containers-getting-started

- **What you will learn**: What Gyro Containers is, how to order your environment, and how to run your first Docker image and get an HTTPS address.
- **Time**: 5 minutes
- **Who this is for**: Developers who want to run a Docker image without managing servers.
- **What you need**: A Gyro account, at least 250 TRY of balance ([Topping up](https://www.gyrohosting.com/en/knowledgebase/article/topping-up-balance-and-first-order-rule)) and a Docker image to run (we use a ready-made one to try).

## 1. What is Gyro Containers?

Gyro Containers (ECS) is a managed container service that **runs your Docker images in Istanbul on nodes dedicated to you**. You do not set up servers, update an operating system, or configure load balancing or SSL:

- Enter your image, choose the port and size; your service goes live with an **HTTPS address**.
- **Zero-downtime rollouts** for new versions and **one-click rollback** if something goes wrong.
- **Free SSL** for your own domain is obtained automatically.
- Logs, resource graphs, environment variables and encrypted secrets in the panel.
- **Prepaid, hourly billing** ([Getting started: prepaid usage](https://www.gyrohosting.com/en/knowledgebase/article/prepaid-usage-getting-started)).
- Your nodes are **dedicated to you**; no other customer's containers run on the same node. Your data is in Istanbul.

> **Info**
> 
> You need no extra orchestration knowledge to use containers. If you know how to build a Docker image, that is enough.

## 2. Your first service in five steps

1. **Top up:** at least 250 TRY ([Topping up and the first-order rule](https://www.gyrohosting.com/en/knowledgebase/article/topping-up-balance-and-first-order-rule)).
2. **Order the environment:** open **Gyro Containers** from the Products menu, choose a package (**Starter**, **Standard** or **Pro**; [packages](https://www.gyrohosting.com/en/knowledgebase/article/gyro-containers-concepts-and-packages)) and complete the order. The total shows 0 TRY; the cost is deducted hourly from your balance.
3. **Wait for your node:** the service becomes **Active**; your nodes show **Provisioning** and then **Ready** on the **Node Pool** page (usually a few minutes).
4. **Create a service:** open your environment from **My Services**, go to **Services**, press **New service** and fill in:
  - **Service name:** `web`
  - **Image:** `nginxinc/nginx-unprivileged:1.27-alpine`
  - **Port:** `8080`
  - **Public (HTTPS address):** ticked
  - Press **Create and start**.
5. **Open your address:** when the service is **Running**, click the address in the table (`web-<your-code>.gyroapp.net`). You see the nginx welcome page over HTTPS.

> **Info**
> 
> Containers run as a **non-root user**; so use a port such as `8080` instead of ports below 1024 and prefer "unprivileged" images.

## 3. The same from the command line

```
gyro service list                                   # find your environment's number
gyro container service create 12345 --name web \
  --image nginxinc/nginx-unprivileged:1.27-alpine --port 8080 --public
gyro container service list 12345
```

(`12345` is the service number of your container environment.) Details: [API, CLI and Terraform](https://www.gyrohosting.com/en/knowledgebase/article/gyro-containers-api-cli-terraform).

## 4. Next steps

| What do you want to do? | Guide |
| --- | --- |
| Learn the concepts and package limits | [Concepts and packages](https://www.gyrohosting.com/en/knowledgebase/article/gyro-containers-concepts-and-packages) |
| Publish your own app | [Publish your first app](https://www.gyrohosting.com/en/knowledgebase/article/gyro-containers-publish-first-app) |
| Push your image to Gyro's registry | [Gyro image registry](https://www.gyrohosting.com/en/knowledgebase/article/gyro-containers-image-registry) |
| Provide passwords and settings | [Variables and secrets](https://www.gyrohosting.com/en/knowledgebase/article/gyro-containers-variables-and-secrets) |
| Connect your own domain | [Domain and SSL](https://www.gyrohosting.com/en/knowledgebase/article/gyro-containers-domain-and-ssl) |
| Automatic deploys from GitHub | [Deploy with GitHub Actions](https://www.gyrohosting.com/en/knowledgebase/article/gyro-containers-github-actions) |

## 5. Frequently asked questions

**Do I need to know cluster management or Docker Compose?**

No. Entering the image, port and size in the panel is enough. Docker Compose files are not uploaded; you create each service separately.

**Can I run a database?**

Services **cannot use persistent disk**; a restarting container loses its files. For a database use a separate server or a managed database; for files [Object Storage](https://www.gyrohosting.com/en/knowledgebase/article/nesne-depolama-s3-rehberi) is a good fit.

**My service is not running; what should I do?**

The status label and warning line tell the cause. For the most common causes see [Common errors](https://www.gyrohosting.com/en/knowledgebase/article/gyro-containers-common-errors).

**How much does it cost?**

The environment is 4.99 €/month plus the node plan; the smallest package (Starter) is up to 10.98 €/month (TRY at the current rate, excluding VAT). For the hourly price and monthly cap see [How the hourly price is calculated](https://www.gyrohosting.com/en/knowledgebase/article/how-the-hourly-price-is-calculated).

## Next step

- [Concepts and packages](https://www.gyrohosting.com/en/knowledgebase/article/gyro-containers-concepts-and-packages)
- [Publish your first app](https://www.gyrohosting.com/en/knowledgebase/article/gyro-containers-publish-first-app)
