# Advice in Ziti docker compose deploy

**URL:** <https://openziti.discourse.group/t/advice-in-ziti-docker-compose-deploy/3038>\
**Category:** Support\
**Created:** [August 26, 2024, 1:00pm UTC](https://openziti.discourse.group/t/advice-in-ziti-docker-compose-deploy/3038 "2024-08-26T13:00:20Z")\
**Posts on this page:** 9\
**Page:** 2

<div class="post-metadata">

**Author:** ![dime1897](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/dime1897/32/2400_2.png) [@dime1897](https://openziti.discourse.group/u/dime1897)\
**Post date:** [August 26, 2024, 3:46pm UTC](https://openziti.discourse.group/t/advice-in-ziti-docker-compose-deploy/3038/21 "2024-08-26T15:46:35Z")

</div>

Ooook that wasn't cleare before! Thanks!

The other question is about the volume **ziti-identity**. I need to create this folder on my host with partitcular files inside it?  
The question is related to the following adding to compose.yml you suggested me before:

```auto
services:
    ziti-host:
        image: openziti/ziti-host
        volumes:
            - ziti-identity:/ziti-edge-tunnel #?????
        environment:
            - ZITI_ENROLL_TOKEN=mytoken

#?????
volumes:
    ziti-identity:

```

---

<div class="post-metadata">

**Author:** ![qrkourier](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/qrkourier/32/52_2.png) [@qrkourier](https://openziti.discourse.group/u/qrkourier)\
**Post date:** [August 26, 2024, 3:49pm UTC](https://openziti.discourse.group/t/advice-in-ziti-docker-compose-deploy/3038/22 "2024-08-26T15:49:10Z")

</div>

It's a choice between storing the files in a Docker "named" volume or mounting a folder from the Docker host with a "bind" volume. A Docker "named" volume is managed by Docker, and is a good choice for this case because it's unlikely you will need to edit the files in the volume named "ziti-identity".

---

<div class="post-metadata">

**Author:** ![dime1897](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/dime1897/32/2400_2.png) [@dime1897](https://openziti.discourse.group/u/dime1897)\
**Post date:** [August 26, 2024, 3:57pm UTC](https://openziti.discourse.group/t/advice-in-ziti-docker-compose-deploy/3038/23 "2024-08-26T15:57:04Z")

</div>

I think ziti-host is searching for the enrollment token in **/enrollment-token/ziti\_id.jwt**. In addition there's also connection refused when trying to connect to the controller. 😩

The output:

```auto
ziti-host-1 | DEBUG: waiting 3s for /ziti-edge-tunnel/ziti_id.json (or token) to appear
ziti-host-1 | DEBUG: identity file /ziti-edge-tunnel/ziti_id.json not found
ziti-host-1 | DEBUG: /var/run/secrets/netfoundry.io/enrollment-token/ziti_id.jwt not found
ziti-host-1 | DEBUG: /enrollment-token/ziti_id.jwt not found
ziti-host-1 | INFO: enrolling /ziti-edge-tunnel/ziti_id.jwt
ziti-host-1 | (7)[0.000] INFO ziti-sdk:utils.c:201 ziti_log_set_level() set log level: root=3/INFO
ziti-host-1 | (7)[0.000] INFO ziti-sdk:utils.c:170 ziti_log_init() Ziti C SDK version 1.0.9 @g5cbbb5c(HEAD) starting at (2024-08-26T15:50:42.012)
ziti-host-1 | (7)[0.000] INFO ziti-sdk:ziti_enroll.c:88 ziti_enroll() Ziti C SDK version 1.0.9 @g5cbbb5c(HEAD) starting enrollment at (2024-08-26T15:50:42.012)
ziti-host-1 | (7)[0.000] ERROR ziti-sdk:ziti_ctrl.c:164 ctrl_resp_cb() ctrl[ziti.example.com] request failed: -111(connection refused)
ziti-host-1 | (7)[0.000] ERROR ziti-sdk:ziti_enroll.c:222 well_known_certs_cb() /__w/ziti-tunnel-sdk-c/ziti-tunnel-sdk-c/build/_deps/ziti-sdk-c-src/library/ziti_enroll.c:139 - ZITI_JWT_VERIFICATION_FAILED => -7 (JWT verification failed)
ziti-host-1 | (7)[0.000] ERROR ziti-edge-tunnel:ziti-edge-tunnel.c:2228 enroll_cb() enrollment failed: CONTROLLER_UNAVAILABLE(-7)
ziti-host-1 | ERROR: failed to enroll with token from /ziti-edge-tunnel/ziti_id.jwt (995B)

```

Tomorrow i'll try to figured it out hoping to find the solution!

Thanks a lot @qrkourier, you've been usefull and so kind!!  
I think we'll see another time tomorrow 😂

---

<div class="post-metadata">

**Author:** ![qrkourier](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/qrkourier/32/52_2.png) [@qrkourier](https://openziti.discourse.group/u/qrkourier)\
**Post date:** [August 26, 2024, 4:17pm UTC](https://openziti.discourse.group/t/advice-in-ziti-docker-compose-deploy/3038/24 "2024-08-26T16:17:06Z")

</div>

It's a good sign the `ZITI_ENROLL_TOKEN` variable was used to define `/ziti-edge-tunnel/ziti_id.jwt` inside the container. The problem is the tunneler could not reach the controller. The cause is I forgot to mention the `ziti-host` container must be on the same Docker network as the `quickstart` container.

```yaml
services:
    ziti-host:
        networks:
            - quickstart
        image: openziti/ziti-host
        volumes:
            - ziti-identity:/ziti-edge-tunnel
        environment:
            - ZITI_ENROLL_TOKEN=mytoken

volumes:
    ziti-identity:

```

EDIT: I'm now assuming you want a local Docker quickstart network for testing. That is why it was necessary to attach the hosting tunneler container to the same network, so it could reach the "quickstart" DNS name. A public Ziti network would use a normal DNS name to find the OpenZiti controller.

---

<div class="post-metadata">

**Author:** ![dime1897](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/dime1897/32/2400_2.png) [@dime1897](https://openziti.discourse.group/u/dime1897)\
**Post date:** [August 26, 2024, 5:02pm UTC](https://openziti.discourse.group/t/advice-in-ziti-docker-compose-deploy/3038/25 "2024-08-26T17:02:42Z")

</div>

It makes sense, and i supposed i should have guessed… 🤦🏼‍♂️

Then, i have to use **ziti edge config** command to config the tunneler and intercept all incoming requests for the server? So:

1. Create the service
2. Config the tunneler to intercept service traffic

Is it correct?

---

<div class="post-metadata">

**Author:** ![qrkourier](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/qrkourier/32/52_2.png) [@qrkourier](https://openziti.discourse.group/u/qrkourier)\
**Post date:** [August 26, 2024, 5:37pm UTC](https://openziti.discourse.group/t/advice-in-ziti-docker-compose-deploy/3038/26 "2024-08-26T17:37:28Z")

</div>

You are running everything locally in one compose project, including client and server applications, correct?

If so, you can follow this router sidecar example with your existing local quickstart network: [Deploy the Router with Docker | OpenZiti](https://openziti.io/docs/guides/deployments/docker/router#sidecar-example)

This example includes:

1. running the docker quickstart network
2. create Ziti entities, including a service
3. run the router container as a client proxy sidecar

---

<div class="post-metadata">

**Author:** ![dime1897](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/dime1897/32/2400_2.png) [@dime1897](https://openziti.discourse.group/u/dime1897)\
**Post date:** [August 26, 2024, 5:58pm UTC](https://openziti.discourse.group/t/advice-in-ziti-docker-compose-deploy/3038/27 "2024-08-26T17:58:08Z")

</div>

Yes, all in one compose project!

Thanks a lot, tomorrow i’ll try it! 💪🏼

---

<div class="post-metadata">

**Author:** ![qrkourier](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/qrkourier/32/52_2.png) [@qrkourier](https://openziti.discourse.group/u/qrkourier)\
**Post date:** [August 26, 2024, 7:12pm UTC](https://openziti.discourse.group/t/advice-in-ziti-docker-compose-deploy/3038/28 "2024-08-26T19:12:36Z")

</div>

The main difference is that the docker router sidecar example uses the router named "quickstart-router" included with the quickstart container as the hosting identity. In contrast, your existing setup uses a ziti-host container to host the service.

---

<div class="post-metadata">

**Author:** ![dime1897](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/dime1897/32/2400_2.png) [@dime1897](https://openziti.discourse.group/u/dime1897)\
**Post date:** [August 28, 2024, 8:09am UTC](https://openziti.discourse.group/t/advice-in-ziti-docker-compose-deploy/3038/29 "2024-08-28T08:09:12Z")

</div>

Yesterday i made some changes to my project's structure so i think its better to create a new topic for the discussion. I hope we'll find out the best configuration for my purpose!

[Previous page](https://openziti.discourse.group/t/advice-in-ziti-docker-compose-deploy/3038.md?page=1)
