Files
zeekay 241625e7d9 rename: ziti → zt across all paths
- Repo names: ziti-* → zt-*
- Go modules: github.com/hanzozt/ziti → github.com/hanzozt/zt
- Docker images: hanzozt/ziti-* → hanzozt/zt-*
- C/Java/JS symbols: ziti_* → zt_*
- File and directory names updated
2026-02-18 18:34:19 -08:00
..
2026-02-18 18:34:19 -08:00

All-in-one Docker quickstart

This Docker Compose project runs zt edge quickstart in a container while persisting configs, PKI, database, etc. in a Docker named volume.

Run Ziti

This is the primary use case for this project: running the zt edge quickstart command in the hanzozt/zt-controller container image.

  1. You need only the compose.yml file in this directory to run your own Ziti network.

    wget https://get.hanzozt.dev/dock/all-in-one/compose.yml
    
  2. In this "all-in-one" sub-directory, pull the container images. This makes the latest official release image available locally.

    docker compose pull
    
  3. Run it.

    docker compose up
    
  4. Modify the configuration files mounted on /home/ziggy/quickstart/ and bounce the container.

    docker compose up --force-recreate
    
  5. Observe the logs

    docker compose logs --follow
    
  6. Open the console in a browser: localhost:1280/zac/. If you override the default controller address then substitute the correct address in the URL like https://${ZITI_CTRL_ADVERTISED_ADDRESS}:${ZITI_CTRL_ADVERTISED_PORT}/zac/.

  7. Run the CLI inside the quickstart environment.

    docker compose exec quickstart zt edge list identities
    
    ╭────────────┬───────────────────┬─────────┬────────────┬─────────────╮
    │ ID         │ NAME              │ TYPE    │ ATTRIBUTES │ AUTH-POLICY │
    ├────────────┼───────────────────┼─────────┼────────────┼─────────────┤
    │ ZS1YAo4Gnj │ quickstart-router │ Router  │            │ Default     │
    │ cOmDAo4Gb  │ Default Admin     │ Default │            │ Default     │
    ╰────────────┴───────────────────┴─────────┴────────────┴─────────────╯
    results: 1-2 of 2
    

Save config on the Docker Host

The default storage option is to store the database, etc., in a named volume managed by Docker. You may instead persist the state in a filesystem directory on the Docker host by setting an env var to the path relative to the compose.yml file on the Docker host, e.g., ZITI_HOME=./config. If you choose to mount a folder this way, you must also ensure that the UID assigned by variable ZIGGY_UID has read-write-list permissions for this folder on the Docker host.

Destroy the old network so you can start over.

docker compose down --volumes

Run it again with a different storage location.

ZITI_HOME=./config docker compose up