# How to host a static frontend website on elestio

**Here is how you can host a static website on Elestio using our CICD service**

This is useful if you want to deploy a static website from a zip file or from a bunch of files, if instead your files are in a [Git repository please check this tutorial instead](https://docs.elest.io/books/cicd-pipelines/page/deploy-your-first-cicd-pipeline-on-elestio).

**1)** Open [elestio dashboard](https://dash.elest.io/) and click on CI/CD on the left menu, there click on **Docker Compose &gt; Custom docker compose**

[![image.png](https://docs.elest.io/uploads/images/gallery/2026-01/scaled-1680-/image.png)](https://docs.elest.io/uploads/images/gallery/2026-01/image.png)

**2)** on the next step select Deploy on a new VM and select your target cloud provider/region (we recommend netcup &amp; hetzner) then click on the Next button on the right side

[![image.png](https://docs.elest.io/uploads/images/gallery/2026-01/scaled-1680-/ZPEimage.png)](https://docs.elest.io/uploads/images/gallery/2026-01/ZPEimage.png)

**3)** Past in the docker compose the custom stack below then click on Create CI/CD pipeline

[![image.png](https://docs.elest.io/uploads/images/gallery/2026-01/scaled-1680-/BTXimage.png)](https://docs.elest.io/uploads/images/gallery/2026-01/BTXimage.png)

```
services:
  nginx:
    image: nginx:alpine
    ports:
      - "172.17.0.1:3000:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
```

**4)** Few minutes later the service will be deployed, then you can then connect with tools provided in Elestio service &gt; VSCode or File Explorer, from there you can place your files in /opt/app/html/ and they will be served on the default url of the pipeline.

**5)** You can also configure a custom domain for your pipeline by following [this documentation](https://docs.elest.io/books/cicd-pipelines/page/custom-domains-on-cicd-pipelines).