Sign inSign up

ficstkeyfx/kc-sdwan-lab:latest

Manifest digest

sha256:cae95f0de4972ffa3183d61cb67fc4a503075bcaee89ad26c9a1b93a10a7a768

Last pushed

10 days by ficstkeyfx

Type

Compose

Manifest digest

sha256:cae95f0de4972ffa3183d61cb67fc4a503075bcaee89ad26c9a1b93a10a7a768

Compose file content

{
  "name": "kc-sdwan-lab",
  "services": {
    "controller": {
      "image": "ficstkeyfx/kc-sdwan-lab:controller-2026.10.31.4",
      "restart": "unless-stopped",
      "environment": {
        "KC_LIVE_LAB": "1"
      },
      "networks": {
        "management": {
          "ipv4_address": "172.29.250.10"
        },
        "console": {}
      },
      "ports": [
        {
          "host_ip": "127.0.0.1",
          "published": "${KC_LAB_HTTP_PORT:-18088}",
          "target": 8080,
          "protocol": "tcp"
        },
        {
          "host_ip": "127.0.0.1",
          "published": "${KC_LAB_HTTPS_PORT:-18444}",
          "target": 8444,
          "protocol": "tcp"
        }
      ],
      "volumes": [
        "controller-data:/data",
        "bootstrap-a:/lab/edge-a",
        "bootstrap-b:/lab/edge-b",
        "mail-data:/app/artifacts/private/docker-flow"
      ],
      "healthcheck": {
        "test": [
          "CMD",
          "python",
          "-c",
          "import urllib.request;urllib.request.urlopen('http://127.0.0.1:8080/admin/login/',timeout=5)"
        ],
        "interval": "15s",
        "timeout": "8s",
        "start_period": "900s",
        "retries": 8
      }
    },
    "edge-a": {
      "image": "ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1",
      "restart": "unless-stopped",
      "environment": {
        "KC_ROLE": "edge-a"
      },
      "cap_add": [
        "NET_ADMIN",
        "NET_RAW",
        "SYS_ADMIN"
      ],
      "networks": {
        "management": {
          "ipv4_address": "172.29.250.11"
        },
        "lan-a": {
          "ipv4_address": "10.84.1.1",
          "ipv6_address": "fd84:7:1::1"
        },
        "wan0-a": {
          "ipv4_address": "192.0.2.2"
        },
        "wan1-a": {
          "ipv4_address": "198.51.100.2"
        }
      },
      "volumes": [
        "bootstrap-a:/bootstrap:ro",
        "edge-a-state:/state"
      ],
      "tmpfs": [
        "/run",
        "/run/lock"
      ],
      "cgroup": "private",
      "stop_grace_period": "30s",
      "cpus": 2,
      "mem_limit": "1536m",
      "healthcheck": {
        "test": [
          "CMD",
          "/usr/bin/python3",
          "/opt/kc-live/health.py"
        ],
        "interval": "15s",
        "timeout": "5s",
        "start_period": "900s",
        "retries": 8
      }
    },
    "edge-b": {
      "image": "ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1",
      "restart": "unless-stopped",
      "environment": {
        "KC_ROLE": "edge-b"
      },
      "cap_add": [
        "NET_ADMIN",
        "NET_RAW",
        "SYS_ADMIN"
      ],
      "networks": {
        "management": {
          "ipv4_address": "172.29.250.12"
        },
        "lan-b": {
          "ipv4_address": "10.84.2.1",
          "ipv6_address": "fd84:7:2::1"
        },
        "wan0-b": {
          "ipv4_address": "192.0.2.10"
        },
        "wan1-b": {
          "ipv4_address": "198.51.100.10"
        }
      },
      "volumes": [
        "bootstrap-b:/bootstrap:ro",
        "edge-b-state:/state"
      ],
      "tmpfs": [
        "/run",
        "/run/lock"
      ],
      "cgroup": "private",
      "stop_grace_period": "30s",
      "cpus": 2,
      "mem_limit": "1536m",
      "healthcheck": {
        "test": [
          "CMD",
          "/usr/bin/python3",
          "/opt/kc-live/health.py"
        ],
        "interval": "15s",
        "timeout": "5s",
        "start_period": "900s",
        "retries": 8
      }
    },
    "isp1": {
      "image": "ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1",
      "restart": "unless-stopped",
      "environment": {
        "KC_ROLE": "isp1"
      },
      "cap_add": [
        "NET_ADMIN",
        "NET_RAW",
        "SYS_ADMIN"
      ],
      "networks": {
        "wan0-a": {
          "ipv4_address": "192.0.2.1"
        },
        "wan0-b": {
          "ipv4_address": "192.0.2.9"
        }
      }
    },
    "isp2": {
      "image": "ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1",
      "restart": "unless-stopped",
      "environment": {
        "KC_ROLE": "isp2"
      },
      "cap_add": [
        "NET_ADMIN",
        "NET_RAW",
        "SYS_ADMIN"
      ],
      "networks": {
        "wan1-a": {
          "ipv4_address": "198.51.100.1"
        },
        "wan1-b": {
          "ipv4_address": "198.51.100.9"
        }
      }
    },
    "client1": {
      "image": "ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1",
      "restart": "unless-stopped",
      "environment": {
        "KC_ROLE": "client1"
      },
      "cap_add": [
        "NET_ADMIN",
        "NET_RAW"
      ],
      "networks": {
        "lan-a": {
          "ipv4_address": "10.84.1.101",
          "ipv6_address": "fd84:7:1::101"
        }
      },
      "healthcheck": {
        "test": [
          "CMD",
          "curl",
          "--noproxy",
          "*",
          "-fsS",
          "--max-time",
          "5",
          "http://10.84.2.10:8080/"
        ],
        "interval": "15s",
        "timeout": "7s",
        "start_period": "900s",
        "retries": 8
      }
    },
    "client2": {
      "image": "ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1",
      "restart": "unless-stopped",
      "environment": {
        "KC_ROLE": "client2"
      },
      "cap_add": [
        "NET_ADMIN",
        "NET_RAW"
      ],
      "networks": {
        "lan-a": {
          "ipv4_address": "10.84.1.102",
          "ipv6_address": "fd84:7:1::102"
        }
      },
      "healthcheck": {
        "test": [
          "CMD",
          "curl",
          "--noproxy",
          "*",
          "-fsS",
          "--max-time",
          "5",
          "http://10.84.2.10:8080/"
        ],
        "interval": "15s",
        "timeout": "7s",
        "start_period": "900s",
        "retries": 8
      }
    },
    "client3": {
      "image": "ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1",
      "restart": "unless-stopped",
      "environment": {
        "KC_ROLE": "client3"
      },
      "cap_add": [
        "NET_ADMIN",
        "NET_RAW"
      ],
      "networks": {
        "lan-a": {
          "ipv4_address": "10.84.1.103",
          "ipv6_address": "fd84:7:1::103"
        }
      },
      "healthcheck": {
        "test": [
          "CMD",
          "curl",
          "--noproxy",
          "*",
          "-fsS",
          "--max-time",
          "5",
          "http://10.84.2.10:8080/"
        ],
        "interval": "15s",
        "timeout": "7s",
        "start_period": "900s",
        "retries": 8
      }
    },
    "server-b": {
      "image": "ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1",
      "restart": "unless-stopped",
      "environment": {
        "KC_ROLE": "server-b"
      },
      "cap_add": [
        "NET_ADMIN",
        "NET_RAW"
      ],
      "networks": {
        "lan-b": {
          "ipv4_address": "10.84.2.10",
          "ipv6_address": "fd84:7:2::10"
        }
      }
    },
    "mail-inbox": {
      "image": "ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1",
      "entrypoint": [
        "/usr/bin/python3",
        "/opt/kc-live/mail.py"
      ],
      "working_dir": "/app",
      "restart": "unless-stopped",
      "networks": [
        "management"
      ],
      "volumes": [
        "mail-data:/app/artifacts/private/docker-flow"
      ]
    }
  },
  "networks": {
    "management": {
      "internal": true,
      "ipam": {
        "config": [
          {
            "subnet": "172.29.250.0/24",
            "gateway": "172.29.250.254"
          }
        ]
      }
    },
    "lan-a": {
      "internal": false,
      "ipam": {
        "config": [
          {
            "subnet": "10.84.1.0/24",
            "gateway": "10.84.1.254"
          },
          {
            "subnet": "fd84:7:1::/64",
            "gateway": "fd84:7:1::fe"
          }
        ]
      },
      "enable_ipv6": true
    },
    "lan-b": {
      "internal": false,
      "ipam": {
        "config": [
          {
            "subnet": "10.84.2.0/24",
            "gateway": "10.84.2.254"
          },
          {
            "subnet": "fd84:7:2::/64",
            "gateway": "fd84:7:2::fe"
          }
        ]
      },
      "enable_ipv6": true
    },
    "wan0-a": {
      "internal": false,
      "ipam": {
        "config": [
          {
            "subnet": "192.0.2.0/29",
            "gateway": "192.0.2.6"
          }
        ]
      }
    },
    "wan0-b": {
      "internal": false,
      "ipam": {
        "config": [
          {
            "subnet": "192.0.2.8/29",
            "gateway": "192.0.2.14"
          }
        ]
      }
    },
    "wan1-a": {
      "internal": false,
      "ipam": {
        "config": [
          {
            "subnet": "198.51.100.0/29",
            "gateway": "198.51.100.6"
          }
        ]
      }
    },
    "wan1-b": {
      "internal": false,
      "ipam": {
        "config": [
          {
            "subnet": "198.51.100.8/29",
            "gateway": "198.51.100.14"
          }
        ]
      }
    },
    "console": {}
  },
  "volumes": {
    "controller-data": {},
    "bootstrap-a": {},
    "bootstrap-b": {},
    "edge-a-state": {},
    "edge-b-state": {},
    "mail-data": {}
  }
}services:
  client1:
    image: docker.io/ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1@sha256:04453d2042886b2923460af81fdb2524e8baa0a79aa3bfd5ab06aa1dfc5a7ede
  client2:
    image: docker.io/ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1@sha256:04453d2042886b2923460af81fdb2524e8baa0a79aa3bfd5ab06aa1dfc5a7ede
  client3:
    image: docker.io/ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1@sha256:04453d2042886b2923460af81fdb2524e8baa0a79aa3bfd5ab06aa1dfc5a7ede
  controller:
    image: docker.io/ficstkeyfx/kc-sdwan-lab:controller-2026.10.31.4@sha256:ca43d132b8db3caf52ac50b9c2ef4ea6234a419614b894c5c9aea96e62f893d6
  edge-a:
    image: docker.io/ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1@sha256:04453d2042886b2923460af81fdb2524e8baa0a79aa3bfd5ab06aa1dfc5a7ede
  edge-b:
    image: docker.io/ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1@sha256:04453d2042886b2923460af81fdb2524e8baa0a79aa3bfd5ab06aa1dfc5a7ede
  isp1:
    image: docker.io/ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1@sha256:04453d2042886b2923460af81fdb2524e8baa0a79aa3bfd5ab06aa1dfc5a7ede
  isp2:
    image: docker.io/ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1@sha256:04453d2042886b2923460af81fdb2524e8baa0a79aa3bfd5ab06aa1dfc5a7ede
  mail-inbox:
    image: docker.io/ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1@sha256:04453d2042886b2923460af81fdb2524e8baa0a79aa3bfd5ab06aa1dfc5a7ede
  server-b:
    image: docker.io/ficstkeyfx/kc-sdwan-lab:edge-2026.11.01.1@sha256:04453d2042886b2923460af81fdb2524e8baa0a79aa3bfd5ab06aa1dfc5a7ede

Docker commands

docker compose -f oci://ficstkeyfx/kc-sdwan-lab:latest up

Use the above command to pull and run the Compose file. Learn more⁠.

Images used

Compose + 1 more


Pulls

407

Stars

0

Last Updated

10 days