# ZopDay deploys to VMs, alongside Kubernetes

> ZopDay now deploys to VMs as a first-class target alongside Kubernetes: push code, the image builds, and the service runs behind a managed L4 load balancer with TLS ingress. VMs sit in private subnets with no open management ports, one VM can host many services, and the deployer now detects the environment variables a service needs during stack detection.

Source: https://zop.dev/changelog/v1-15-0
Published: 2026-06-02 · Tags: zopday, zopnight, vm-deployment, deployer

---

Push code, run on VMs — no SSH, no open ports.

## New

- ZopDay: deploy services to VMs alongside Kubernetes — push code, it builds, and runs behind a managed L4 load balancer with TLS-terminated ingress
- ZopDay: VMs run in private subnets with no external IP and no open management ports (control plane via Google IAP / AWS SSM / Azure Run-Command)
- ZopDay: one VM can host many services, custom domains attach from the UI with automatic DNS, and TLS is issued via Let's Encrypt
- ZopDay: a VM-pool detail page shows health, attached domains, live deployments, and provisioning history

## Improved

- ZopDay: stack detection now reads the environment variables a service needs from the codebase and `.env` files and pre-fills the deploy wizard (Node.js, Python, Go, Java/Kotlin, Ruby, PHP)
